/home/crealab/cntxt.brainware.com.co/tcl8.6.zip
PKqm�[{j��0U0U	libTix.sonuȯ��ELF>�
@�M@8@�s�s pupu$pu$�zp� ww$w$$$�s�s�s  P�td������DDQ�tdR�tdpupu$pu$�
�
GNU�[Lۉ��i����1��q7�3 0` �P��p�@�g�	�0A	B�@C@	( $  ��X`A	�3I @H-D, T,A�F��A`*�"B��H�4($$@�"�(eI0AL�D"�(l@!@���!!`&��J@@0��A�ID�p� H.���(��(@ �345679:;<=?@ABCEFGHIKMNORSUVWY^_`abcfgikmnopsuwy{|������������������������������������������������������������������������������	}� FL'��?9ؤZ����$��Њ����긳I=��M�5ꈫ�g<���S*�]�Z�8�M�����2�LE�
}�$�O��Op�Cҍ>����E;�q��}�ۀ�����o�ʥ��F���$:{�k�j`��o�0�s��V3���nP��v�4��o��邛�uR�8q�K�DeXh�za�X�&�܇�濹+\/�	�ށ<̓{
zZT��m˸\
ٗ�3��Gxf���#����jh��hM�!��0�����Ā�~����4�ݍ�
�m���������0$�
�U$��Z0�E�"Z�`���rܿ1k�M鞲���̎�o��˅dA�r��S�b0��7�.��,�c��$rC�d���U�@��*�y��$SNm�����"�t��pC�
�6-��AM#j��=��X��t��'��wӑ�W�Q4����ÄwpXW�_F�-��Ċ�o���C���`"� +�XϻBE��K7���d�	r�C�����׎�`Y�� �^�-�zC�1>�,S 	��D����v��+��O"���'e5�����4F<�ϙ,_�?�)��2�U��?�SWd�.�~��dM{��a�mu%�4$��I�z
HZ�������ɰ<�֋¨W�k�Asү��i�H��VO�%���c��~xr��I�MU��.~��yfE`,S0�9!1MĐr��qX9���U4on��|��g��|��f-J��+l�h���Z!%��@mo�r*�;^���� o�S�<�N�4�Ԓ�K?/3�22����l�T�!|�Ǚkw��1|��D��/3����`#]��v)X�� z��M��<3؏�57��6=` �@�p�v��
��5�3j �<
���d���^0��Ii;, �z#F"$���4�~0�H�09l�o�
 _7.	@��*�ZI��~Q��v��rds�A�l
�P)��y��`�g���.�@��@�u)�v%�`P��dr}�/���Q���!��5��
�^<�
жa�
P^</
�����A+��J�> ]�t�[C
p�Mepn	� ���	@�yU�{�{pj}O�^���ni��Q��O�;pf�T���pf�&��$��R�^ �$Hr@���Ќg
�1$0�Y��

T��PIg���e�
^<7`S���SZP?Q�
��$�sP�q��jY	`����n�pb�0�X
��$�h jO`�uA�U�[
�Iu�pN5I�on
P�tg��
��|){~���@OE���$U�NS]�E��X��
0T� o�Pl��R�@o��$U�Y&~��
0�*�
��?��n��O/Hp�
Q�VDh0O	{
�V�%
s��
 �$�^�x	��+l�p����nTPn�@����U; ���@�m����|�K��$H�P�5+�ei��zPrx�`�9�����$��vs G���B�\	Б�P �$��W�D�N�@n	��7��@�$�|�@]��	`�$�`_�+0����F
�Ei�z.��}0��;�T�D	���@��
@�		�����
P�G;p��0i��	�v��Id��:+t	��5_��%��_�`���
�^D� 0I4��+�u�W����Pa�����j@�%��dg�@����U+��|1�H@"`tP����A�����	Щn��$`�2�`g��
�$�	аpp�aW �$`{%^�d~5`�
c�$��~�na���x�E�%�@Um��"l$��p%0�,�d���={G�B9�h��p��N�w"�@�#���N��5@���
�$�Хa�0Jg%`�����YB�W���+�QX\�	����7����[}:b_+@UkR�%__gmon_start___ITM_deregisterTMCloneTable_ITM_registerTMCloneTable__cxa_finalizeTixGetHashTableTix_SimpleListIteratorInitTix_SimpleListStartTix_SimpleListDeleteTix_SimpleListNext__stack_chk_failTix_ZAlloctixStrDupTix_SimpleListInitTix_FindConfigSpecByNameTix_CreateInstanceCmdstrstrTix_InstanceCmdTix_ChangeOneOptionTix_CallMethodTix_CallConfigMethodTix_ArgcErrorstrlenTix_FindPublicMethodTix_ChangeOptionsTix_UnknownPublicMethodError__sprintf_chkTix_QueryOneOptionTix_GetVarTix_QueryAllOptionsTix_EvalArgvTix_UninitializedClassCmdstrcmpTix_GetConfigSpecFullNameTix_SimpleListAppendTix_GlobalVarEvalTix_CreateWidgetCmdTix_ClassCmdTix_DoWhenIdleCmdTix_DoWhenMappedCmdTix_Get3DBorderCmdTix_HandleOptionsCmdTix_ParentWindowTixpSetWindowParentTix_TmpLineCmdTixpDrawTmpLineTix_GetDefaultCmdstrcpyTix_ValueMissingErrorTix_ManageGeometryCmdTix_GeometryRequestCmdTix_MoveResizeWindowCmdTix_MapWindowCmdTix_FlushXCmdXFlushTix_UnmapWindowCmdTix_InitTix_CreateCommandstixNormalUidtixCellUidtixRowUidtixColumnUidtixDisabledUidTixMwmProtocolHandlertixPixmapImageTypetixCompoundImageTypeTixInitializeDisplayItemsTix_SafeInitTix_CallMethodCmdTix_ChainMethodCmdTix_ItemStyleCmdTix_FormCmdTix_GetMethodCmdTix_GridCmdTix_HListCmdTix_InputOnlyCmdTix_MwmCmdTix_NoteBookFrameCmdTix_TListCmdTix_LinkListInitTix_LinkListAppendTix_LinkListIteratorInitTix_LinkListStartTix_LinkListNextTix_LinkListDeleteTix_LinkListInsertTix_LinkListDeleteRangeTix_LinkListFindTix_LinkListFindAndDeleteTix_GetContextTix_SuperClassTix_GetMethodFullNameTix_ExistMethodTix_FindMethodstrncmpTix_InitScrollInfoTix_GetScrollFractionsTix_UpdateScrollBarTix_SetScrollBarViewTix_SimpleListInsertTix_SimpleListFindAndDeleteTix_SimpleListDeleteRangeTix_SimpleListFindTix_HandleSubCmdsTix_Exitstderr__fprintf_chkexitTix_GetAnchorGCTix_DrawAnchorLinesTixpDrawAnchorLinesTix_CreateSubWindowTix_GetRenderBufferXSyncTix_SetRcFileNameTixComputeTextGeometryTixDisplayTextmemsettixConfigReliefTix_AddDItemTypeTix_GetDItemTypeTix_DItemCreateTix_DItemConfigureTix_DItemDisplayTix_DItemFreeTix_DItemCalculateSizeTix_DItemComponentTix_FreeArgumentListTix_SplitConfigTix_MultiConfigureInfoTix_ConfigureValue2Tix_ConfigureInfo2Tix_WidgetConfigure2TixGetColorDItemGCTixDItemGetAnchorTix_DItemFillNormalBGTixpSubRegFillRectangleTix_DItemDrawBackgroundTixpSubRegSetClipTixpSubRegUnsetClipTixpSubRegDrawAnchorLinestixConfigItemTypeTixDItemStyleChangedTixDItemStyleFreeTixpStartSubRegionDrawTixpSubRegDisplayTextTixpEndSubRegionDrawTixpSubRegDrawImageTixpSubRegDrawBitmaptix_ImageTextItemTypeTixGetDefaultDItemStyletixConfigItemStyletix_ImageItemTypeTixDItemStyleConfigureGCstix_TextItemTypetix_WindowItemTypeTix_SetDefaultStyleTemplateTix_SetWindowItemSerialTix_UnmapInvisibleWindowItemsTix_WindowItemListRemoveTixFm_FreeMasterInfofwriteTixFm_AddToMasterTixFm_UnlinkFromMasterTixFm_UnlinkTixFm_ForgetOneClientTixFm_StructureProcTixFm_DeleteMasterTixFm_GetFormInfoTixFm_ConfigureTixFm_FindClientPtrByNameTixFm_InfoTixGridDataGetIndexTixGridDataGetGridSizeTixGridDataGetRowColSizeTixGridDataMoveRangeTixGridDataDeleteRangeTixGridDataFindEntryTix_GrDoWhenIdleTixGridDataCreateEntryTixGridDataSetInitTix_GrCancelDoWhenIdleTix_GrGetElementPosnXFillRectangleTix_GrFreeUnusedColorsXCopyAreaTix_GrAddChangedRectTix_GrScrollPageTix_GrFreeElemTixGridDataDeleteEntryTixGrDataFirstRowTixGrDataFirstCellTixGridDataDeleteSearchedEntryTixGrDataNextCellTixGrDataNextRowTixGridDataSetFreeTix_GrFormatTix_GrSelectionTix_GrSetSizeTix_GrSortTixGridDataUpdateSortTixGridDataConfigRowColSizeTix_GrConfigSizeXDrawLinestrtolTix_GrGetCellTextTix_GrGetSortItemsTix_GrFreeSortItemsqsort__printf_chkTix_GetCharsstrtod__ctype_b_locTix_HLAllocColumnXDrawRectangleTix_HLComputeGeometryTix_HLComputeHeaderGeometryTix_HLFreeHeadersTix_HLResizeWhenIdleTix_HLCreateHeadersTix_HLResizeNowTix_HLCancelResizeWhenIdleTix_HLFindElementTix_HLElementTopOffsetTix_HLElementLeftOffsetTix_HLDrawHeaderTix_HLItemInfoTix_HLMarkElementDirtystrrchrstrncpyTix_HLColumnTix_HLHeaderTix_HLItemTix_HLIndicatorXRaiseWindowXSetClipOriginXCopyPlaneAddNewLineAddNewBitmapAddNewImageAddNewSpaceAddNewTextTixpXpmDisplayTixpXpmFreeInstanceDataTixpXpmAllocTmpBufferstrcasecmpTixpXpmSetPixelTixpXpmRealizePixmapTixpXpmFreeTmpBufferfopenfseekftellfreadfcloseTixpInitPixmapInstanceTix_DefinePixmapXCreateWindowXRootWindowXGetWindowPropertyXChangePropertyXFreeXQueryTreeXCreateGCXFreeGCXDrawPointXSetClipRectanglesXCreateImageXPutImagelibX11.so.6libc.so.6_edata__bss_start_endlibTix.soGLIBC_2.3GLIBC_2.3.4GLIBC_2.4GLIBC_2.2.5Fii
rti	|ii
�ui	�pu$pxu$0�u$�u$�u$���u$˹�u$ӹ�u$ܹ�u$��u$���u$��u$
��u$��u$��u$"��u$*�v$2�v$
�v$:�v$*� v$D�(v$
�0v$N�8v$X�@v$`�Hv$
�Pv$j�Xv$
�`v$r�hv$X�pv$y�xv$*��v$���v$���v$���v$���v$j��v$s��v$���v$}��v$L��v$R��v$?��v$D��v$���v$���v$���v$���$M��$E�$`D(�$�0�$�8�$&�@�$1�`�$��h�$4�p�$=�x�$h���$���$F���$Q���$\�Ё$�؁$f��$p��$\��$��$z��$�� �$����$����$����$���$����$μЂ$ܼ�$��$���$���$� �$ �0�$.�@�$;�P�$C�`�$T�p�$]���$j���$|���$����$����$��Ѓ$���$���$ɽ�$ؽ�$��@�$�pH�$p`�$�h�$���$���$����$0���$���$@���$����$@���$НȄ$�Є$P�؄$Д�$���$���$�$��$ �$(�$)�0�$*�8�$1�@�$��`�$8�h�$����$<���$��Ѕ$@�؅$A��$F��$ܹ�$K��$L��$P� �$��@�$T�H�$U�P�$]�X�$M�x�$e���$k���$p���$����$t���$z���$p�Ȇ$���$��$����$���$h� �$��(�$��0�$��8�$*�X�$��`�$��h�$��p�$����$����$����$����$
�ȇ$��Ї$��؇$���$
��$���$���$���$*�8�$��@�$��H�$��P�$
�p�$��x�$����$���$
���$����$����$���$���$��$(��$9���$X��$� �$(�(�$9�0�$
�P�$J�X�$\�`�$m�h�$
���$J���$\���$m���$����$~�ȉ$��Љ$��؉$*���$~��$���$���$��0�$��8�$��@�$��H�$
�h�$��p�$��x�$����$
��$���$����$���$*� �$�(�$�0�$=�8�$*�X�$�`�$�h�$�p�$���$$���$/���$9���$��ȋ$C�Ћ$M�؋$V��$���$_��$f��$u��$*�8�$��@�$��H�$Z�P�$*�p�$��x�$����$����$���$��$`���$���$���$@��$P��$� �$P�(�$p�0�$��8�$�@�$��H�$p�P�$`�$X�$��$��$)���$*���$1���$����$8�ȍ$����$<��$��0�$e�8�$k�@�$p�H�$h�h�$t�p�$z�x�$p���$h���$����$����$����$*�؎$���$���$���$���$���$�� �$��(�$
�H�$��P�$��X�$��`�$
���$����$����$����$*���$����$��ȏ$��Џ$
��$����$���$��$
�(�$��0�$��8�$�@�$��`�$�h�$(�p�$9�x�$X���$���$(���$9���$
�А$J�ؐ$\��$m��$
��$J��$\��$m� �$��@�$~�H�$��P�$��X�$*�x�$~���$����$����$����$����$����$��ȑ$
��$���$����$���$
�h�$�p�$�x�$=���$*���$���$���$���$�ؒ$_��$���$���$*�H�$�X�$Ц`�$A�x�$@���$����$����$E���$����$*��$L��$����$�� �$��0�$�8�$�@�$��H�$�P�$�X�$��`�$p�h�$��p�$�x�$����$P���$P���$@�$��$��$Ȕ$)�Д$*�ؔ$1��$���$8��$��8�$<�@�$��p�$@�x�$A���$F���$ܹ��$T���$U���$]���$M��$e��$k��$p���$���$t� �$z�(�$p�0�$��P�$�X�$��`�$��h�$h���$����$����$����$*���$��Ȗ$��Ж$��ؖ$����$���$���$���$
�0�$��8�$��@�$��H�$
�h�$��p�$��x�$����$˹��$����$����$����$
�ؗ$���$���$��$
��$���$�� �$�(�$��H�$�P�$(�X�$9�`�$X���$���$(���$9���$
���$J���$\�Ș$m�И$
��$J���$\��$m��$��(�$~�0�$��8�$��@�$*�`�$~�h�$��p�$��x�$����$����$����$����$
�Й$��ؙ$���$���$
�H�$�P�$�X�$�`�$����$_���$c���$z���$*���$����$��Ț$Z�К$*��$����$���$���$��`�$��h�$��p�$����$N���$����$`���$����$ ���$p���$����$�ț$ �Л$p�؛$���$���$@��$�$��$ �$(�$)�0�$*�8�$1�@�$��`�$8�h�$����$<���$��М$e�؜$k��$p��$h��$t��$z��$p� �$h�@�$��H�$��P�$��X�$*�x�$����$����$����$����$����$����$��ȝ$
��$���$����$���$
� �$��(�$��0�$��8�$˹X�$��`�$��h�$��p�$
���$����$����$���$
�Ȟ$��О$��؞$��$���$��$(��$9��$X�8�$�@�$(�H�$9�P�$
�p�$J�x�$\���$m���$
���$J���$\���$m���$���$~��$���$����$���$~� �$��(�$��0�$��P�$��X�$��`�$��h�$
���$����$����$����$
��$��$��$� �$N�@�$_�H�$��P�$��X�$*�x�$����$����$N���$��ȡ$*�(�$z�8�$��@�$��X�$@�h�$��p�$����$����$����$����$��Ȣ$@�Т$���$G��$���$��(�$�0�$��H�$��X�$�`�$����$����$����$L���$��ȣ$��У$��(�$*�8�$�F@�$��X�$��h�$�p�$���$���$��$A���$@�Ȥ$�/Ф$���$E���$P�$���$��(�$�F0�$��H�$��X�$�F`�$��x�$����$P��$���$���$p	��$�إ$)��$�#�$���$8� �$�8�$?�H�$�P�$L�h�$G�x�$ 4��$���$����$���$��Ȧ$[�ئ$��$`���$r��$��$��(�$��@�$z�X�$J�h�$%p�$����$����$���$��Ч$���$����$�P�$���$��(�$pM0�$��H�$��X�$pM`�$����$����$����$����$*���$��Ȩ$��Ш$��ب$����$���$��0�$8�8�$��h�$��p�$��x�$����$����$����$���$���$*�ة$��$��$'��$*��$3��$B� �$P�(�$*�H�$<�P�$����$^���$l���$y���$h���$����$��Ȫ$��Ъ$h��$@���$A��$F��$ܹ(�$��0�$��8�$��@�$
�`�$��h�$��p�$��x�$
���$����$����$����$*�Ы$��ث$=��$���$���$���$���$� �$*�@�$��H�$��P�$�X�$��x�$���$,���$;���$
���$���$,���$;�Ȭ$
��$J��$^���$q��$�� �$��(�$��0�$��8�$��X�$�`�$�h�$�p�$����$e���$k���$p���$��ȭ$t�Э$z�ح$p��$���$���$���$��$Ͽ8�$�@�$(�H�$��P�$˹p�$�x�$(���$����$
���$����$����$����$h��$J��$\��$����$
��$J� �$\�(�$��0�$��P�$��X�$��`�$��h�$����$����$���$���$����$�ȯ$'�Я$/�د$*���$7��$��0�$>�8�$I�@�$S�H�$��h�$]�p�$h�x�$r���$����$|���$}���$����$��ذ$���$���$���$*��$���$�� �$��(�$*���$L���$]���$ k��$��ر$���$�m�$���$��(�$)�0�$*�8�$1�@�$�`�$��h�$��p�$��x�$*���$����$����$����$*�в$��ز$���$���$
��$���$���$�� �$
�@�$��H�$��x�$8���$����$����$����$��ȳ$���$���$����$���$h� �$��(�$��0�$�8�$ϿX�$�`�$(�h�$��p�$˹��$���$(���$����$
�ȴ$��д$��ش$��$h��$��$��$
��$��8�$�@�$�H�$�P�$h�p�$�x�$���$���$���$���$����$���$*� �$��(�$��0�$��8�$��X�$��`�$����$8���$��ȶ$��ж$��ض$���$���$���$���$���$h�8�$��@�$��H�$�P�$Ͽp�$�x�$(���$����$˹��$���$(���$����$
��$���$���$���$h��$� �$�(�$
�0�$��P�$�X�$�`�$�h�$h���$���$���$���$���$���$t �$��8�$~�H�$tP�$��p�$����$8���$w��$����$��ȹ$wй$���$?���$�v�$���$J�(�$w0�$��H�$H�X�$w`�$����$����$O���$���$T�غ$���$��$��$*��$�� �$�8�$�H�$@�P�$A�h�$~���$#���$@���$����$��Ȼ$E�ػ$���$���$���$���$�(�$��8�$��@�$�X�$��h�$�p�$7���$)���$����$����$?�ȼ$ �м$L��$���$��$H�(�$��0�$M�H�$^�`�$#�x�$/���$���$G���$����$�ؽ$r��$���$���$^��$�� �$T�8�$��H�$@�P�$b�h�$w�x�$`���$M���$����$p���$��Ⱦ$��ؾ$��$���$���$���$�� �$*�@�$��H�$��P�$��X�$��x�$����$����$8���$���$���$����$���$�� �$��(�$��0�$��8�$*�X�$��`�$��h�$��p�$����$N���$L���$����$*��$���$��$��$*��$���$���$���$*�8�$��@�$��H�$��P�$��p�$��x�$����$���$*���$<���$���$@��$A��$F���$ܹ�$�� �$��(�$��0�$
�P�$��X�$��`�$��h�$
���$K���$L���$P���$���$
���$����$���$h���$���$=��$���$��0�$��8�$��@�$�H�$*�h�$��p�$��x�$���$����$���$,���$;���$
���$���$,���$;���$
��$J��$^� �$q�(�$��H�$�P�$�X�$�`�$����$$���$/���$/���$h���$9���$G���$T���$*���$���$��$��$��(�$e�0�$k�8�$p�@�$��`�$t�h�$z�p�$p�x�$����$����$����$���$Ͽ��$���$(���$����$X��$��$(��$�� �$
�@�$��H�$��P�$��X�$h�x�$J���$\���$����$
���$J���$\���$����$����$����$����$���$a� �$h�(�$i�0�$s�8�$��X�$�`�$'�h�$/�p�$*���$>���$I���$S���$����$}���$����$����$���$|��$}��$���$��8�$��@�$��H�$��P�$*�p�$��x�$����$����$*���$L��$|� �$*�@�$7�X�$����$}���$���$?��$��(�$�8�$��@�$U�X�$@�h�$��p�$����$m���$`���$����$E���$0���$t���$����$���$t� �$��H�$�X�$��`�$7�x�$@���$ ���$X���$m���$@���$9���$E���$����$T��$���$@� �$T�8�$��H�$P�P�$T�p�$����$���$0���$_���$@���$���$����$m���$��$���$E�(�$`�0�$~�H�$��X�$��`�$~�x�$����$ ���$~���$����$����$���$���$���$���$��8�$��@�$��H�$��P�$*�p�$��x�$����$����$����$����$����$���$ȿ(�$)�@�$�`�$��x�$*���$���$*���$T���$f��$m� �$*�@�$7�X�$��x�$����$����$���$h�(�$��0�$��8�$��@�$*�`�$��h�$��p�$��x�$����$t���$����$����$*���$t���$����$����$���$���$��@�$8�H�$��x�$����$����$����$����$����$���$���$*���$����$����$���$�� �$��(�$��0�$��8�$*�X�$<�`�$����$����$����$����$
���$����$����$����$
��$@��$A��$F��$ܹ8�$��@�$��H�$��P�$
�p�$��x�$����$����$
���$����$����$����$*���$����$����$����$���$�� �$��(�$�0�$ȿP�$��X�$��`�$��h�$����$����$����$p���$���$���$���$p���$����$>��$I��$S��$��0�$|�8�$}�@�$��H�$����$����$A��$����$*���$A��$���$��$ ! �$A�8�$@�H�$�RP�$��h�$E�x�$R��$����$����$A��$���$����$A��$���$���$ Q�$7�(�$)�8�$�O@�$��X�$?�h�$�!p�$L���$����$0F��$����$G���$�H��$���$����$M�$��$r�(�$P30�$��H�$^�X�$�F`�$T�x�$����$>��$b���$����$`,��$����$����$`,��$���$L�(�$7�@�$����$����$����$����$*���$����$����$����$���$�� �$��P�$8�X�$����$����$����$���$*���$����$����$���$����$���$���$���$��0�$��8�$��@�$��H�$*�h�$N�p�$L�x�$����$*���$����$���$���$*���$<���$���$@��$A� �$F�(�$ܹH�$��P�$��X�$��`�$
���$����$����$����$
���$����$=���$����$����$���$,��$;��$
�(�$�0�$,�8�$;�@�$
�`�$J�h�$^�p�$q�x�$����$���$���$���$����$���$���$ ���$��$e��$k��$p� �$��@�$t�H�$z�P�$p�X�$��x�$����$����$���$Ͽ��$���$(���$����$X���$���$(���$���$
� �$��(�$��0�$��8�$h�X�$J�`�$\�h�$��p�$
���$J���$\���$����$����$����$����$����$a��$7��$��8�$�@�$'�H�$/�P�$*�p�$>�x�$I���$S���$����$|���$}���$����$����$����$����$����$*��$�� �$��(�$��0�$*���$)���$���$<���$����$@��$*�0�$��8�$��@�$��H�$*�h�$T���$M���$e���$h���$t���$h��$��(�$*�H�$��`�$����$���$h��$�� �$h�@�$|�X�$h���$)���$��$�8�$e�P�$h�p�$t���$h���$)��$� �$��(�$��0�$��8�$*�X�$8�`�$����$����$*���$<���$���$���$���$���$*�8�$e�P�$h�p�$t���$h���$)��$� �$e�8�$h�X�$t�p�$h���$����$����$����$*��$���$���$���$��8�$��@�$��p�$8�x�$����$����$����$h���$<���$���$@� �$A�(�$F�0�$ܹP�$��X�$��`�$��h�$
���$����$����$����$
���$e���$h���$t��$h�0�$��H�$�h�$���$h���$�� �$'�(�$0b0�$�U8�$`\@�$�VH�$�Y��$���$`���$@���$�p��$���$ p��$|� �$"�X�$(�H�$��P�$�X�$�`�$*���$����$=���$����$h���$|���$}���$����$h�@$H$P$aX$�`$�h$p$�x$��$��$��$_�$u�$�$��$��$��$��$(�$��$,�$]�$1�$��$n��$��$���$��$���$�Ȃ$I�$I؂$��$���$��$��$4(�$A8�$�H�$X�$�h�$�x�$���$���$h��$���$eȃ$�؃$k�$m��$��$�Ȓ$�p�$�0�$���$��$���$�(�$��$���$�h�$���$	�$;8�$���$Cȧ$
x�$���$X�$���$�y$� y$(y$0y$=8y$7@y$�Hy$�Py$�Xy$|`y$hy$�py$�xy$�y$�y$��y$��y$:�y$�y$�y$�y$`�y$�y$6�y$��y$	�y$l�y$
�y$p�y$Zz$�z$z$�z$� z$�(z$�0z$�8z$@z$�Hz$
Pz$sXz$`z$hz$�pz$�xz$��z$^�z$��z$��z$K�z$�z$��z$q�z$g�z$c�z$��z$�z$�z$��z$��z$�z$>{$t{$W{$�{$ {$�({$�0{$8{$�@{$�H{$EP{$DX{$�`{$�h{$�p{$�x{$��{$��{$i�{$��{$��{$?�{$��{$V�{$�{$��{$9�{$��{$�{$d�{${�{$�{$[|$�|$J|$B|$j |$w(|$�0|$X8|$\@|$MH|$@P|$X|$<`|$�h|$�p|$�x|$S�|$��|$�|$��|$F�|$��|$��|$P�|$��|$f�|$
�|$y�|$�|$��|$��|$��|$}$}$}$N}$� }$�(}$�0}$T8}$Q@}$�H}$P}$X}$8`}$oh}$�p}$x}$��}$��}$v�}$�}$ �}$��}$��}$!�}$��}$��}$"�}$��}$L�}$��}$r�}$��}$�~$}~$�~$~$� ~$�(~$#0~$$8~$%@~$UH~$&P~$GX~$'`~$�h~$xp~$Rx~$��~$��~$��~$)�~$b�~$��~$*�~$��~$+�~$�~$3�~$��~$,�~$��~$-�~$.�~$�$�$/$�$0 $�($�0$H8$2��H��H���#H��t��H����5�#�%�#��h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h	��Q������h
��A������h��1������h��!������h
��������h��������h������h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h��Q������h��A������h��1������h��!������h��������h��������h������h �������h!��������h"�������h#�������h$�������h%�������h&�������h'��q������h(��a������h)��Q������h*��A������h+��1������h,��!������h-��������h.��������h/������h0�������h1��������h2�������h3�������h4�������h5�������h6�������h7��q������h8��a������h9��Q������h:��A������h;��1������h<��!������h=��������h>��������h?������h@�������hA��������hB�������hC�������hD�������hE�������hF�������hG��q������hH��a������hI��Q������hJ��A������hK��1������hL��!������hM��������hN��������hO������hP�������hQ��������hR�������hS�������hT�������hU�������hV�������hW��q������hX��a������hY��Q������hZ��A������h[��1������h\��!������h]��������h^��������h_������h`�������ha��������hb�������hc�������hd�������he�������hf�������hg��q������hh��a������hi��Q������hj��A������hk��1������hl��!������hm��������hn��������ho������hp�������hq��������hr�������hs�������ht�������hu�������hv�������hw��q������hx��a������hy��Q������hz��A������h{��1������h|��!������h}��������h~��������h������h��������h���������h��������h��������h��������h��������h��������h���q������h���a������h���Q������h���A������h���1������h���!������h���������h���������h�������h��������h���������h��������h��������h��������h��������h��������h���q������h���a������h���Q������h���A������h���1������h���!������h���������h���������h�������h��������h���������h��������h��������h��������h��������h��������h���q������h���a������h���Q������h���A������h���1������h���!������h���������h���������h�������h�������h�������h������h������h������h������h������h���q���h���a���h���Q���h���A���h���1���h���!���h������h������h�������h�������h�������h������h������h�������%�z#D���%�z#D���%�z#D���%�z#D���%�z#D���%�z#D���%}z#D���%uz#D���%mz#D���%ez#D���%]z#D���%Uz#D���%Mz#D���%Ez#D���%=z#D���%5z#D���%-z#D���%%z#D���%z#D���%z#D���%
z#D���%z#D���%�y#D���%�y#D���%�y#D���%�y#D���%�y#D���%�y#D���%�y#D���%�y#D���%�y#D���%�y#D���%�y#D���%�y#D���%�y#D���%�y#D���%�y#D���%�y#D���%}y#D���%uy#D���%my#D���%ey#D���%]y#D���%Uy#D���%My#D���%Ey#D���%=y#D���%5y#D���%-y#D���%%y#D���%y#D���%y#D���%
y#D���%y#D���%�x#D���%�x#D���%�x#D���%�x#D���%�x#D���%�x#D���%�x#D���%�x#D���%�x#D���%�x#D���%�x#D���%�x#D���%�x#D���%�x#D���%�x#D���%�x#D���%}x#D���%ux#D���%mx#D���%ex#D���%]x#D���%Ux#D���%Mx#D���%Ex#D���%=x#D���%5x#D���%-x#D���%%x#D���%x#D���%x#D���%
x#D���%x#D���%�w#D���%�w#D���%�w#D���%�w#D���%�w#D���%�w#D���%�w#D���%�w#D���%�w#D���%�w#D���%�w#D���%�w#D���%�w#D���%�w#D���%�w#D���%�w#D���%}w#D���%uw#D���%mw#D���%ew#D���%]w#D���%Uw#D���%Mw#D���%Ew#D���%=w#D���%5w#D���%-w#D���%%w#D���%w#D���%w#D���%
w#D���%w#D���%�v#D���%�v#D���%�v#D���%�v#D���%�v#D���%�v#D���%�v#D���%�v#D���%�v#D���%�v#D���%�v#D���%�v#D���%�v#D���%�v#D���%�v#D���%�v#D���%}v#D���%uv#D���%mv#D���%ev#D���%]v#D���%Uv#D���%Mv#D���%Ev#D���%=v#D���%5v#D���%-v#D���%%v#D���%v#D���%v#D���%
v#D���%v#D���%�u#D���%�u#D���%�u#D���%�u#D���%�u#D���%�u#D���%�u#D���%�u#D���%�u#D���%�u#D���%�u#D���%�u#D���%�u#D���%�u#D���%�u#D���%�u#D���%}u#D���%uu#D���%mu#D���%eu#D���%]u#D���%Uu#D���%Mu#D���%Eu#D���%=u#D���%5u#D���%-u#D���%%u#D���%u#D���%u#D���%
u#D���%u#D���%�t#D���%�t#D���%�t#D���%�t#D���%�t#D���%�t#D���%�t#D���%�t#D���%�t#D���%�t#D���%�t#D���%�t#D���%�t#D���%�t#D���%�t#DH�%0fDH�=Y�#H�R�#H9�tH�nt#H��t	�����H�=)�#H�5"�#H)�H��H��H��?H�H�tH��t#H��t��fD�����=��#u+UH�=�t#H��tH�=.j#����d������#]������w����AT1�I��H�RUH�5��SH����1�H��H�5u�H�.H�h@����L��H���H��t[H�@]A\��[1�]A\��AWAVAUATUSH��XH���#H�|$H�t$L�l$0dH�%(H�D$H1�H�H�4$���I��H���=�I�oH�}H��tH��P0H�} H��tH��P0�U(H�}0����E1�@N�$�M����H�I�|$H�@0H��tH���H9�t	��H�H�@0I�|$H��tH�
v�H9�t	��H�H�@0I�|$H��tH�W�H9�t	��H�H�@0I�|$ H��tH�
8�H9�t	��H�H�@0I�|$(H��t	��H�H�@0L���H�}0I��D9u(�F���H��tH��P0�E8E1�~�H�E@J�<�H�I���P0D9e8�H�}@H��tH��P0L��L�e`���L��L���2���H�|$8t(f.�L��L���e���L��L����H�|$8u�L��L����c���L��L�����L�t$8M��tCfDL��L������H�I�~�P0H�I�~�P0H�L���P0L��L���U�L�t$8M��u�H�L�eXH�@0M��tI�|$hH��t	��H�H�@0L���H�H�@0H���H�L����pH�H�<$��I��H������L�|$H�L����xH�L���P0H�D$HdH3%(uH��X[]A\A]A^A_����@AVA��1�AUI��H����ATUH��H�5P�SH��H��dH�%(H�D$1���1�H���H��H�5 �L�`H��H�T$H��H��A�ԋT$������I�����H��H�@H��D�p�	����C(H�{`H�CH�C H�C0�C8H�C@L�kHH�CX�Cx���H�������I�\$H�L$dH3%(H��uKH��[]A\A]A^�f�L�%��#H��I�$���M�$H��E1�H�
G�H��1�1�H�5E�A��@��o�Df.�AWAVA�AUI��H��ATI��U��SH��(L�=z�#dH�%(H�D$1�H�L$H�T$I������u[A�ƋD$��~E1��@�H��9\$~0H�D$L��L��H���?�H��tR��tE��uЀH��9\$�I�H�|$�P0H�L$dH3%(D��u0H��([]A\A]A^A_�fD��I�H�|$A��P0��p���AWAVI��AUATA��USH��H������H�iH�5�I��H������H�5o�#L�H��t?E1�H�
5�H��H��H�5�1�A�A��@H��D��[]A\A]A^A_��I�MA�H��H��H���A���I�M H���#A�H���H��H��H����I�MH��H��H���#A�H���H����E1�L��H��H���#H�Um#H��H����I�FH�D$A�D$��D$���E�](E1�E���fDI��E9}(��I�E0J���u�H��L�AH��L��jA�H����AXAY��t��H��I�uH��E1�jH�
�E1�H�����ZYA�ƅ���H���#L�A�E(��~WE1�@I�E0N�<�A�t8I�W�H��H��A���L��H��L��I��H������u,H���#L�I��E9e(��H��H��A��P�0����A��$���DD�T$E���2���A�D$�L�|$��H��M�d �8H��M�GL��H��jE1�H��H���
�^_����I��M9����I�L��H����H��u�����H��L��D��H��L���[�]A\A]A^A_���H�D$Lc|$E1�H��H�
y�H�5i�J�T��H���#L�1�A��@�e���D��AWAVI��AUA��ATI��USH��H�iL�dH�%(H�D$x1�H�H�$����H�3�#H��H���XH���O�H��H��L��H�D$���H���sA�u�M�NH��L��t$$A��H��L��L�L$H�T$4RH�T$��_AXA��H���#H�E�����t$,����D�D$�
H�=,�H��H��I��
IN�H9����������I���H�=��H��IN�H9���������L���A���&L�,��L��D��L���T�A��H��#H��H����H�\$xdH3%(D���H�Ĉ[]A\A]A^A_�fDL���A���]A���{L�D$�L$H��L��H�$�#�A��H���#H��@H�$H��H��L���>�A��H�t�#H��\���@L�K�L��D��L���~�A���?���fD�KA�������I��
H�=�H��IN�H��H9��A��A��E��E����L���A����M�FL��L�D$��L�D$H�PH��<��H�l$0H�
žH�����1��H����H�4$H��L��H���#�H����H��H���rA���2H�k�#�L��H���P�4���DA��5���DI�NH�$H��L����A��H�#�#H�����I�NH�$H��L����A��H���#H�����xH���#H��P(M�FH�
ڝH�����H��H�ž1���H�4$H��L��H���#�H����H��H�D$0H9�����H���#H�4$H��H��P0H�4$����H�$H��L�����A��H�O�#H��7����I�vH�T$L��t$��A������L�:��L������I�VE1�L��A�H���#H�
��H�5�L�1�A��@�����Df.���H��H�GI��H��tMH�PH��u�j�H��H�BH��u�H���#H�RE1�H�
ȜH�5ϜL��L�1�A��@�H���H�X�#1�H�5}�L��H�1���@�H���H���f�AWI��AVI��AUATUSH��H���H�|$H�yH�t$@H�L$ dH�%(H��$�1��B�D$<��I�v0L�cH�C H��t	�>���D$h1�H�D$pM��tAl$8�k8�<���D�L$hH�C@E����E1���H�C@N�4�H�D$pJ�<��
�I�E�uI��D9l$h�Mc�I��D9�~2@D��I�T$@+D$hA��H�L�{@H�<�M�I�����I�D9�u�H�|$pH��tH�-	�#H�E�P0H�D$ L�{H�pH��t	�>�?	�D$\1�H�D$h�D$HM��t
A�O(��L$H�C(�D$H�<���D�D$\H�C0E����H�L$pE1�D�t$<H�-��#H�L$H�L$`H�L$L�|$(���������8�R�I�ǀ �H�@0H�D$pH�8���I�GH�D$pH�x���I�GH�D$pH�x��I�G H�D$pH�x���|$`I�G�I�G(H�|$pH��tH�E�P0M�}I��D9d$\��H�C0H�T$hN�,�H�EH�L$H�|$N�<�H�T$H�D$pL���������D$`E�������������8�e�I�ǀ �H�@0H�D$pH�8���I�GH���I�G I�GH�D$pH�x����|$`I�G�(����H�L$pH�<��I�G(����fDH�-��#H�T$hH�L$pL��H�E����¸�����l$h����f�H�\$H�EH����L�UE1�L��L�m�H���H��1�H�5�A��@H�|$pH��t	H�E�P0f���H�|$hI�EH��t2H�E�P0��)@H�|$�H�������fD�H��$�dH3%(��
H���[]A\A]A^A_�f.�� ����fDL�|$(�C(�D$LM����A�(1���H�\$(�I�W0�D$\H��H�L$0L�1H�L$(L�i0���CI�N��M��I�D�H�L$H�D$�I��L9d$�I�$H�t$H�{�?���u�I�v H�{ �.���uII�vH�{����u8A�H�L$0�������	ˆH������	ЈH������	ЈH��A9o(�3���H�\$(�D$L9D$H�`H�-��#��H�{0��H�E�P8H�|$hH�C0H��tH�E�P0H�D$ H�0H��t	�>��	�s(����H�D$pH�-w�#E1�H�D$�H�C0H�{N�<�I��I�w�o�H�|$1�1�H�5ӖI����H�|$1�1�H�5��L�hH��H�T$L��H��A��L��L�xH�E�P0�C(D9����~>1��f�H��9k(~/H�C0L�$�A�$t�I�T$H�|$H��H�����I�D$09k(�H�D$ H�P@H��t	�:�Y���H�D$ H�P8H��t	�:��
H�D$ H�P(H��t	�:�c
H�D$ H�-g�#H�pH�EH�����>��L�cH�L$`H�T$XH�|$���������M����L�l$pI��L����L��L����L�t$xM��t[H�\$L��������I�~H���z�I�~H�C�m�1�H��L��H�C��L��L���a��L�t$xM��u�H�\$�L$X���W
H�D$hE1�L�d$pH�D$(H�D$\H�D$f.�H�D$`N�<�H�L$(H�T$H�|$J�4�H�E������}�|$\��	L��L���L�d$��L��L����L�t$xM��u�W����L�t$xM��t@H�D$hI�vH�8���L��L����u��!�H�EI�~�P0H�EI�~�P0H�EL���P0�I����I��H�D$hH�8�3�I�FH�D$hH�x�!�1�L��L��I�F����H�EH�|$h�P0D9l$X���H�E�����H�=ڵL��$�A�������������H�=ȓH��$��H�E��������H�=��H��$��H�E���L�t$H��$��L���K�L��L�����L�t$xM��u]���H��$���P����
H�E��H��$���P����
H�E��H�t$L���'��L�t$xM����H�ED��H�=����L�M1�I�VH��H��$�H�s 1�A���H�EI�~D�����H��$�H��$�H�|$�L��H�E��0	���(���I�](I�}��P����
H�E��I��I9�u�H�|$`H���Y������fDH�L$hH�T$\H�|$H�-��#H�E������X����D$\����H�|$hH�������H�-[�#H�E�P0����HcD$L�8M�d��4�A�I�������	�A�EA����	�A�EA����	�A�EA����	�A�EI�~H�]�H9���H�����l�I�EI�~H����H�.�H9����F�I�EI�~H����H��H9���� �I�EI�~ H��tSH��H9�tG��I�~(I�E H��tI���I�E(H�D$(I�E0M�,$�H(�L$���L$L�H(�4���DI�~(H���I�E H��u�I�E(�f�H�s�I�E�t���H�c�I�E�>���H�S�I�E����H��$���B��H�E��
��H�EH��$���J����
��H�EH��$���J����
��H�EH�|$`H��t�P0H�E�H�L$ H���A�H�IHH����H��H�t$@H�|$��L�t$@L�|$A�H�EH���L��L��L�����H�EL��L��L�d$ A�H���I�L$���H�EL��L��I�L$ A�H�����H�EL��L��I�L$(A�H�e����H�EL��L��I�L$A�H�M����H�EL��L��I�L$0A�H�4����H�EL��L��A�I�L$@H�����I�|$XH�EA��mH�
�H���L��L�����H�E�T$<A�H�������L�t$H�
��H�t$@H���L����H�EH�sE1�H��H�\W#L�����H�SH�|$E1�1�H�
��H�5���j����Z����CxL�t$pH��`L��L�t$����L��H���Z��L�d$xM��tzL�|$L�t$I�L$XI�t$L��L���������M�l$XM��t H�EI�}hH�@0H��t
��H�EH�@0L���I�D$XL��H���;��L��H�����L�d$xM��u�1����E1��h�H�D$\H�L$hH�|$H�-��#H��H�E����¸���k�H�ED�k(Dl$\H�{0D�l$(B�4��P8D�s(H�C0E9���H�L$pMc�D��I��H�L$H�L$`N�,�E��H�L$�f�A��I��D9|$(�M�S(D��H�L$H�|$M�)�H�T$hE1�H�H�4�H�EH�T$�����un�|$`ug�8����I�������A�H�D$pH�8�Z��I�FH�D$pH�x�H��I�F(H�|$pI�FH�
�I�F I�FH�EI�F0�P0M�4$L�c0K�<,�6���H�EH�|$h�P0��-�L�t$H�t$@H�
/�H�'�L����H�EH�sE1�H��H��T#L������e���H�|$�H���^�����������H�|$1�H���A����O�����@�D$(H�|$h�C(H�E�P0�*��H�
a�H�t$@H�|$H�C�������DH�
���;���H�D$`L�ME1�H�
9�H�|$H�5]�J�81�A��@H�EH�|$h�P0�~���H�D$pL���H�D$��������@��AWAVAUI��ATUSH��H��(H�<$dH�%(H��$1���uyH�iH�5n�H���&��H���}H���#E1�H��H��H�
��H�5͊A�L�1�A��@H��$dH3%(D���mH��([]A\A]A^A_Ð��L�u�L��H�߹���A���f�I�u�	H�=s��pA��A���,��I�uE��H��L�-�#I��H���I�$I�L$hI�T$`I�D$I�D$I�D$I�D$ I�D$(I�D$@I�D$0I�D$8I�D$PI�D$HI�D$XI�EI�D$h�������IcT$`����
��)ȃ������
M�D$h1�L�щL�щL�=։L�
ډ� �I�T�I�$H��A9D$`��I���L��H���������t͹H��L���������uI�T�I�T$�f.��H��L���������uI�T�I�T$�D�	H��L���������uI�T�I�T$�[���f��H��H�=����������I�T�I�T$ �+���f�1�E��H��H�����D$�9��I��H����E�~xE��� I�t$HH��t	�>��I�FH��L��L��H�����I�|$hA��H��tI�E�P0I�EL��P0I�FX�\���f�I�D$hM�UE1�H��H�
�H�5�H�T�1�A��@I�EI�|$hH�@0H��t��I�EI�D$hH�@0L��A������H��H�=���������t5�H��H�=���������I�T�I�T$0���I�T�I�T$(�����I�EH����M�UE1�H��H�
��H�5��H��1�A��@I�EI�|$hH�@0H���I�����I�EH�@0�:���f.��L$H�$H��H�����I��H���T�����H���p��H�����xxI�F�T���H�x`1�L������I�EI�vE1�L��H�fO#H����M�fX���@�
H��H�=͆�������uI�T�I�T$8�����H��H�=���������uI�T�I�T$@����H��H�=�����������I�T�I�T$H�w���I�D$HH��H��H�D$���H������I�EH�|$ H��H�|$H����	H�t$1�1�H�T�H���^����uhI�EH�t$H����	I�t$H�L$H��H�$�R��H��������E���@�	H��H�=ۅ�������uKI�T�I�T$X�������H�t$H������I�UH�t$H��H�D$���	H�D$H���H����s���M�UE1�H�
��1�H�5v�H��A��@���@��USH��H��H�wH�=��#��#H��tuH�-��#H��H�U��pH�EH�sH�;�����t+H�EH�{H�;H�� t?H�5h���H�EH�;��pH�EH�{�P0H�EH��H�@0H��[]��H��[]ÐH�5i����DH��(f��f��dH�%(H�D$1��F�*��F
�Y��,�f���*��F����*ȁ����Y�O��Y�f�L$�,��,�����O�=��O�f�T$
H��f�D$H���#H����H�|$dH3<%(uH��(����DH���GD�O
H�
|�D�G��H�=��#P1�������#XY��t$H���#f.��� u�0H�����u�H�v�#H����AVAUATUSH�� dH�%(H�D$1��>u3H�-��#I��I��H�=��#L��L�5��H�E���H��uffDH�D$dH3%(u`H�� []A\A]A^�H���pH�EH��L�����H�EH�{�P0H�EH��P0H�UL��H��t�H�XH�UL;ku���������>��H�$�#AV�H����AUATI��UL��SH�H����I�t$H�=y�#���#H�-��#H��t
H�UH���pI�\$H��tdL�51��
�L��H�EH�3I�<$�����tH�EI�<$L���� H�EI�<$��pH�EL�kH�;�P0H�EH��P0M��u�H�E[L��]A\H�@0A]A^����Df.���AWAVAUATI��U��SH��H��dH�%(H�D$1����#��u#H�տ#1�H�=ܺ#H�����a�#L�+L�������H�=�L��H��HN�H9��������L�݂����H���#L��H�L��x���H�sL��H��A��I��H����}�H�-8�#H�sH�E��H�T$H�=.�#I��H��j�#�\$I��H�E��u[L���P0H�T$dH3%(����H��[]A\A]A^A_��E1��L�=�H�ڹ��L�����������P(L� H��L�pL�hI�GM��t?L�%��#L��L��H�����I�$���I�$L��L��H�u������0H�EH��H�=����1����2������!�������f���AWAVAUATI��UH��SH��(dH�%(H�D$1����/L�5�#H��I�H��x���I�t$H��H���I��H����J�#L�=��#��uI��H�=<�#���� �#H�T$L��H�=�#�_�#H�‹D$����I�H�T$��P(H�T$�L��H��H�(L�hH��H�@H�BI�H������0I���P(I�|$H�����H�EH�CH�E1�H�kH�L$dH3%(uOH��([]A\A]A^A_�f�H�Z�f.���L�9�L��H�������D���D��@��AWAVAUATI��USH��H�����'H�-��#H��H�E���I�|$I��H�E���H�ML��H��H����I��H������H��L������I��H������L��L�����I��H����L�=ջ#H��I����I�L��H��8H�T$�b���H�T$H��H���I�L��L��8�C���H��H��A��H�EL��0H�EL����0H�EL��0H��1�[]A\A]A^A_�f�H���[]A\A]A^A_�@H����H��L��[L��~]1�A\A]A^A_�D��@��AW��I��AVAUATUSH��HH�t$dH�%(H�T$81�H�D$(H�D$0���H�qH�=l~��D$��€���uI��D$��I��I�����H���#H�\$H�L$0H�T$$I�wH�H��������H�R�#H�L$(I�wH��H�T$ H�����D$����HcT$ L�l$(����
��)ȃ���E1�����L��D$$H�T$0H��H�L$I�\
������I��H�l���I��I9���I�6H�������u�H�D$I�wE1�H��H�|$I�LH���#H����L�l$(I��C�$9D$ �t����f��D$L�l$(M��tH�W�#L��H��P0H�|$0H��t
H�=�#H��P0H�T$8dH3%(�D$�5H��H[]A\A]A^A_ËD$���~���H���#H��H��M�GH�
�|L�
�|L�jH�5�|1�H�|$ A��@L�l$8ZY�D$�S���fDH�|$�L����L�S|�����D$�U����t$I�l���u7�D$$H�\$0��~h��L�d���H��I9�tMH�3H���<����u�H�A�#E1�H�
syH��H�5syL�H�|$1�A��@L�l$(�D$���H��#E1�H�
ɦH��H�5�{L�����D��AVAUATUH��SH��H��dH�%(H�D$1�����L�-ҷ#H��I�E���I��H���I�EH�uL��H���xI��H����I�EL��H�uH���xI��H��tU�L$L��L��H���c���H�L$dH3%(��H��[]A\A]A^�f���L�{H��H�߹�7����DL�-��#H�T$H�uH��I�E��8��t�I�EH����M�M1�H�UE1�H�
�yH�5��H��A��@��`�����S���fDH���#1�H�5PyH��H���P��'����%��D��AVAUA��ATUH��SH��H�� dH�%(H�D$1��B�����L�%$�#I��H�T$H�qH��I�$��8����I�$H�T$H�uH���8����I�$H�T$H�uH���8��ukI�$H�T$H�u H���8A�ą�uNH�ϵ#H�A��t&H����I���L$�T$�t$�|$����!H�u(L��H���xI��H��u�A�H�L$dH3%(D��u3H�� []A\A]A^�f.�L�Ix1�H��D��H���I��A�������Df.���AUATI���H��USH����uuL�iH�-�4#H�5�x1���H�uH��L�������td����u�H���#L��L��E1�H�
e�H�5uxL�1�A��@H���[]A\A]�f�H��L��[L�lx]A\A]���f�H�I�#H���D$L��H�5'4#H�
H�t1��P�D$H��[]A\A]����SH���3���H�xH���#H��P(H��H��跽��[�D��AW1�AVA��H�5�xAUM��ATA��UH��SH��1�H��L�=��#I���@E9�EO�E��~8A�D$�L�%��L�t��M�H�3H��1�L��H��1�A��@L9�u�M�L��H��1�1�H�wA��@H���[]A\A]A^A_Ð��H��H��H��#E1�H�
PtH�5StL�1�A��@�H������AWH��E1�1�AVH�
xAUATI��UH��H�5�vSH��L�-��#M�MA��@�}8��1�H�5�L�5��fDH�E@M�E1�L��D�{H��1�H��A��@�E8L���P�9�у�~I�M1�H�5��L��1���@�E8��~H�E@I�MMc�1�L��J�4�1���@H���[]A\A]A^A_�DE1����USH��H��H�-�#H�H�E�P0H�EH��H�@0H��[]��@f.����>t�fD�Gu�USH��H��H�wH�=&�#�`�#H�-��#H��t
H�UH���pH�E�KH��H�5e���H��0H��[]��fD���Gt�DATI��E1�H�wvUSH�GH��H�wH�?H�HX1����H�-�#��t!H�EH�;H�5�v�� H�EH�;��pL��H�=p�#���#H��t
H�UH���pH�E�KH��H�5����[]H��0A\��f����Gt�DUE1�H��uSH��H��H�GH�wH�?H�HX1��G����t3H�-\�#H�;H�5vH�E�� H�EH�;H��pH��[]��f�H��[]�f���AWAVAUI��ATI��USH��(dH�%(H�D$1����/L�5�#H��H�qL��I���xH��H���)�3�#L�=��#��uI��H�=9�#����	�#H�T$H��H�=�#�\�#�\$����H�D$I�� �P(I�|$H�hH��L�(��H�T$�c�H��H�CI�H�5�9#H�ZH����I�H��H��H�]����1��0H�L$dH3%(��ueH��([]A\A]A^A_��H�hI�H�}�P0I�|$�p���H�E�f.���L�JrL��L���׽��������T���@��AUATUH��SH��H��(dH�%(H�D$1�����L�-��#H��H�qH��I�E��xI��H��txI�EH�L$H�UL��H���P��u[I�EH�L$H�UL��H���P���D$u:I�M�T$L��t$����D$H�\$dH3%(u4H��([]A\A]�fD��ؐ��L�sH��H�߹�׼����`�����AUATUH��SH��H��8dH�%(H�D$(1�����L�-��#H��H�qH��I�E��xI��H����I�EH�L$H�UL��H���P����I�EH�L$H�UL��H���P��ufI�EH�L$ H�U L��H���P��uII�EH�L$$H�U(L��H���P���D$u(M�MD�D$$L��L$ �T$�t$A���D$��H�\$(dH3%(u.H��8[]A\A]����L��qH��H�߹藻����� �����H���H�ʃ�u7SH�o�#H��H��H�qH���xH��t/H�H����1�[��L��q�H���4���@�[�f���H���H�ʃ�u?H��H�qH�
��#H��H��H�	��x�H��t
H�8�O���1҉�H���fDL�-q�H��鼺��f�f.���H���H�ʃ�u7SH���#H��H��H�qH���xH��t/H�H����1�[��L��p�H���T���@�[�f���AU1�H�5�pATUSH��H��(dH�%(H�D$1��QfH����1�H�5�pH���gH���vH�-��#1�H��H��pH�5�pH�E�P���M�5��#���gL�%��#H�EA�1�H��H�
XpH�5xp���H�E1�H��A�H�
9pH�5ap���H�E1�H��A�H�
pH�5Mp���I�$H����1�H�5�6#H��H��観��I�$H��H��#��#L���H��#H��#H��#���H��1�E1�jH�
5#H��H��L�
��#A��ZY���8H�EH��L�l$A�H�
��#H��oH�5�o���L��
1�D�z�#H�
��!���H�EL��H��A�H�hoH�5Xo���H�EH��A�H�
9�#H�GoH�50o���H�EH��A�H�
�#H�(oH�5o���H�EH��A�H�
��#H�oH�5�n���I�$H��L��`���1�H�5��#H�=�3#H�A��H�E�H�ߺ����H�5�2#��(	��H�L$dH3%(��H��([]A\A]�@L�%A�#H�=n� �#I�$���H��1#H�=�mH�I�$���H��1#H�=�mH�I�$���H��1#H�=��H�I�$���H�n1#H�=�mH�I�$���H�k1#1�H�=R1#H�I�$��8I�$H�=�1#��@I�$H�=�0#��@莸����������@��H��H�1�#1�H�`oH�5�oL�1�A��@�H���f.�����H�GH�G�D��H�FH��t9H9�t3Hc�f�H9�t H�H��u�H�FH�H�VH�
��H�VHcH�V��f.����g�����H�FH��tH�BH��B����B�fD�BH�H�B����BÐf.���H�BH��t�J��uHcH�H�H�B���JÐ��H�BH��t@�Bu:H�NL�FL9�t0Hc?H9�t`H�
L�9L9�t<H�8I�H�H�8H�B�.�J�f�H�FH�FH�B��fDH�NI�H�B�H�8H�FH�BH��������t>L�AM��t-Hc?L�NL�:L;NtLM9�t_L���I�8H�yI�:H�����UH��SH��1�H���ų��H�EH�H�CH��[]���H�VM�
H�H�Q��@��H�VM�H�H�Q��@��AWAVI��AUATI��UH��SL��H��8H�T$dH�%(H�D$(1�M�����C��H�CE1�H��t]E1��3f�D��E1����u$L9st<H��L��H������H�CH��t%H9D$u�H��L��H��A���}���A�L9su�H�T$(dH3%(D��u@H��8[]A\A]A^A_��H��L��H���z����[���DH�\$H��胴���:����i���f���AUI��ATI��UH��SH��H���At`H��L��H���"���H�CH��t%I9�u	�2f�L9�t+H��L��H���=���H�CH��u�H��1�[]A\A]��H���[]A\A]�H���Ȱ���fD��AUI��ATI��UH��SH��H��(dH�%(H�D$1�H��ti�Ct3H��L��L��H��芴����u6H�L$dH3%(uKH��([]A\A]�H��L��H���J�����H��L��H������H��H���=�����&���fD��AUI��ATUSH��(H�-H�#dH�%(H�D$1�I��H�EL���H��H��t2H�{H�EH��t�P0H�EH���pH�EL��H��H��u�H�EL��xH�EL��P0H�D$dH3%(uH��([]A\A]��w������AU�I��H�ZaATUH��SH��L�%��#I�$���H��H��tH��H��[]A\A]�f�I�$H���M�$L��H��1�E1�H�

�H�5�iA��@H��H��[]A\A]Ð��AU�I��H��aATI��USH��H��H�-��#H�E���H��t/�8tI�EH��1�[]A\A]ÐI�EH��1�[]A\A]�H�EH����L�ML��H��1�E1�H�
KiH�5HiA��@H���[]A\A]����AUI��ATI��USH��臫��L��H���|����|H�A�#Hc�H��P(L��H��H������:H�|L��f�D���H��H��[]A\A]�D��AUATUH��H��H��SH��XdH�%(H�D$H1����H�͟#H��H��I��H�L��A�Ņ�tAH�L��P0H�1�1�H��PD��H�L$HdH3%(u_H��X[]A\A]�f.�1�1�L��H��H�5)h�:�����u�H�H����H�=.nH�����E1�A���u���������AVAUATI��UH��SH��H��H��H�� dH�%(H�D$1����1�H�����H��H�5�gI��豬��1�H�h���H��H�5�gL�pH蕬��H�T$L��H��A��L��I��H���#H��P0�D$��u,I�FH�L$dH3%(��H�� []A\A]A^��H�\$L�l$H��u/I�^H����H�t$L��H������uDH�\$H��t:L��H��H���d�����t�H�\$H��t�H��螮��H��I�^H���g����1��Y���蜩��f�f.���H����H�ʃ�tL��f��ެ��fDATUSH�iH��H�qH���ѯ��H��tLH��H��葭��H�-z�#H��I��H�E���H�ML��H��1�1���@H�EL��P0[1�]A\�DH�9�#H��1�H�5�pH���P[1�]A\�f.���AWAVI��AULc�ATUSL��I��H���L�%�#H�|$dH�%(H��$�1�I�$�����<��P(H�L$ H��H�L$J�(H�D$I�$E1�A������I�$K�<�D���J�D�I���D9��H�D$L�|$H��޹E1�H�I�$L����0	L��A��I�$���J�|���P����
I�$��I��D9��H;l$t
I�$H��P0H��$�dH3%(D��ugH���[]A\A]A^A_�H�l$ I�H�l$L�l$������H�L$��H�\$H�T$H��H����0	H��A��I�$�����9���f�AWI��AVM��AUE��ATI��H�[UL��H��SH��H�B�#H�$�H����H����H��迫��H�D$H���H�L��A�L��H��ZH���H�4$L�����A�uI��H��<��4$�P(E��4$I��L�8L�`~"A�M�1��DH��I��I�T�H�PH9�u�L��H��L�$����L�t$L��H��A��H�A�H�-ZL��H�L���P0H�L�$L��P0H�L���P0H��D��[]A\A]A^A_�@H�H��A����L�E1�L��H�
ވH�5�bH��1�A��@�A�뫐��AWAVAUATUH��SH���H�����5L�qL�y�T$H��L�-��#�H�VYL��I�E���I��H����L��H��H���ī��H��t/�L$H��L�ML��H��H��[]D�A�A\L��A]A^A_���@I�EH����M�UH��1�jM��H�5;bL��L�
�\H�
bH��A��@I�EZH��YH������A�1�H��H��H�5
b��H���[]A\A]A^A_ÐI�EH����M�ME1�L��H�
��H�5FaH��1�A��@�DH��H��H�߹[L�ra]A\A]A^A_飧����AWAVAUATA��UH��SH��H��dH�%(H�D$1����L�qH��L�yL������I��H����H��H��H���Ϭ������H�4$H����L��H���/���H��t"L�ME�D$�L��L��H��H���`����H�-��#H��H�E���L�UH��1�jM��H�5�`L��L�
d[H�
�`H��A��@H�EZH��YH������A�1�H��H��H�5{`��fD�H�L$dH3%(uuH��[]A\A]A^A_�@L�`H��D��H�߹�>����@H�-�#H��H�E���L�M1�E1�H�
�ZL��H�5"`H��A��@��{���聢�����AWM��AVE��AUATI��UH��SH��H��L�l$PH�T$H���ͨ��M��t1�H����A�UH��t'H�T$H��M��E��H��H��H��[]A\A]A^A_���L�-I�#H��I�E���M�UH��1�jM��L�
�YH��H�5*_H��H�
_A��@I�EZH��YH������H��1�A�H��H�5_��H���[]A\A]A^A_�f.���AWH��AVI��AUATUSH��H������S8��~YH�[@��E�&A��L�l��
@H��L9�t7H�+D8eu�L��L��H�������u�H��H��[]A\A]A^A_�f.�1���f.�f�SI��H��@H�!�#H�QdH�%(H�D$81�H��tU�6H�I0H�$��u7H�QH�T$H����H�\$8dH3%(ueH��@[�f.�H�QH�T$��DH�qH�$H�t$H�q H�IH�t$L��H�L$����H��H�D$ H�����&���fD���F(����AWAVAUL�-�]ATI��UH��S1�H��H�T$�H�E0H��H��tQH�ytJH�T$H�uL������L��E1�L��L�5�#H��I��1�H�
UL�-H]M�A��@I�L���P0H��9](�H��1�[]A\A]A^A_�1��f.���AUI��ATI��USH��跞��L��H��謞���|H�q�#H��P(L��H��H���-���Hc�L��H�����H��H��[]A\A]Ð��AWAVI��AUATI��USH��H��H�|$H�~H���4���1�1�H�5�SL��H���ޠ��1�1�H�5�SL��L�h@�Ǡ��H��H��A��H��I��H�ђ#H��P0M��tM�uH��L��[]A\A]A^A_�H���؝��H��A�D$(��~QM�|$0��E1�E1�I�D�H�$DM�'H��H��I�t$�����uA��tcM��A�I��L;<$u�M��u�H�D�#L�t$H�L�����L��E1�H��H�#�#H�
�H�5�UE1�L�1�A��@�?����H���#L�t$H�L�����L��E1�H��H�ؑ#H�
��H�5�E1�L�1�A��@��fD��ATI��H��USH��躜��H�¸H��t;�u@H�RH�-}�#�L��H��H�E���H�M1�H��H��1���@1�[]A\�DH�B0H�P�@f.���ATI��H��UH��SH���7����H��t=H�sH��L��H������L�%�#�H��H��I�$H���PI�$H��P01�[��]A\�f���AWH��AVAUI��ATI��UH��SH��xL�D$dH�%(H�D$h1��x���M�EI��L��L�$襛��L�$�x��<��H�^�#L�t$ H��P(M�EH��H������H��1�H�
�Y����H��L��H���a���H��t|H�L$H��H��H��A�L��H�L$H��jL�L$ ���^_L9�tH��#�$H��H��R0�$H�L$hdH3%(u|H��x[]A\A]A^A_�@L�t$ L���W���L��H�
YH�����H��1�H��t�I�EH��L��H��H�
�XA�H�D$H�D$H�D$ jL�L$ �.���ZY�Y�������f���AWI��AVAUATM��UH��SH��H��8H�T$D�l$pdH�%(H�D$(1��tH�Y0E����E	�H�C(H����H�T$�H��H�D$L�d$�Z�������L�5��#H��I����H���G���I��E����I��I�H�SA�L��H�t$H��E1��M��t	I�L���P0H�L$(dH3%(D����H��8[]A\A]A^A_�����E���9�����H�C(H��t3H�T$�H��H�D$L�d$菗�����'A���H�T$M��H��L��H��A��̚�����[���L�5��#E1�I�H���M�H��t�8tH��E1�A��������H�SA�L��H��H�t$E1�A������@E1�L�5V�#����H�SE1�H��A�H�9�#H�
|H�5�VL�1�A��@���f.�H�SE1�H��A�H���#H�
�{H�5�VL�1�A��@�q���f.�L�5Ɍ#H��I����H���U���I��H�T$L��M��H��H��M��A�蓙�������������A����������AVAUI��ATI��UH��S������~f��L����H��M�t�0H��L�CH��L��jE1�L��H������ZY��uH��L9�t#H�L��H���%���H��u�[�]A\A]A^�f���[1�]A\A]A^Ð1��DHc�I�\�H����H��t�H���#E1�H�H��H�
�LH�5�LL�1�A��@����H�G�7��t%�}UH�G �G�G�G(�DH�H�GH��H�G���?tW�G�O�W f.0UzuH�UH�H��f.�f/�w��X�f(��^��^���
Ðf�f��f���*G�*O�*W���ATUH��SH��H�ĀdH�%(H�D$x1��>���F f��f/�w�V�Nf/���H�C H�{��H��H�T$L�d$H���ږ���L$�$L��d��H�
�S����H�s1�1�H��#L��H��L�A��0��tH�H��H�5�S�� H�H��pH�D$xdH3%(ucH��[]A\�fD�F��x!�N�V9��9��;���)ʉV�1����C�"���@�X�f/������\��N �����'������AVAUI��ATI��U��SH��H�� L�5>�#dH�%(H�D$1�I�E��tH�T$H�1��8��� I�L���H�S�uL��H��#H�L$L�D$H���pA�<$tq���~������u0��+f���u�AD$�YD$�AD$ �1�H�\$dH3%(��H�� []A\A]A^�D����~��u�A�D$�D$AD$����u�f��A*D$�YD$�,�A�D$��f��*D$�AYD$(�AXD$ �AD$ �d���@A�<$�T$t=f��*��AD$ �C����f��*D$�AYD$�AXD$ �AD$ ����@A�T$����fDA�D$�D$AD$���?���f.�D����������H��H��H�=�#��������������H��H��H�=�#�ʔ��f.���H��H��H�=#���f.���H��H��H�=_#�J���f.���H��H��H��H�=<#�ד�����H��H��H��H�=#釐�����I��H��H��H��H�=�#�4���@��H��H��H��H�=�#��������1����ATI��USH�� H�*�#dH�%(H�D$1�H��H�H���H��t#fDH�H���pH�H��H��u�H�L��xH�L��P0H�D$dH3%(u	H�� []A\��p�����HcɃ<
 ws�
H�-PHc�H�>���H��O�H��O��H��O��H��O��H�|O��H�rO��H��H����Mc�ATI��UK�,SH���=H��H���*���A�H�=OH��H��L��HN�H9���€���u��E1�[]A\ÐH���H�=�NH��HN�H9���€�����H��L��H�=�NH��HN�H9���€�����H��L��H�=�NH��HN�H9���€�����A�H��H�=bNH��L��HN�H9���€�����H��L��H�==NH��HN�H9������u4� � ��������fD�����fDH�;WH���#H��L��E1�H�
�NH�5�ML�1�A��@[�]A\�D����fD����@f.���AWAVAUI��ATUSH��8H�L$A�H�H�T$ D�D$,L�L$�L$(9O���GI��9�}	�����H�D$H�XH���2���A�U���;M�t$M��������M��H�lRH�D$H��L��DI��0L9��M�wM����A�?�uL���Ѝ��A��A8u�H�T$L��H��������u��T$,��A9W��A�G9�}	�����H�L$I�GH���DH�A�#H��L�
FH�
=YH�5xLL�jH�D$(H�|$M�EH�1�A��@XZH��8�[]A\A]A^A_�M��L�t$I�G(I�^H���2H�ًT$(H�t$H�|$ �Ѕ��I�^H�-��#E1�H��1�H�
uEH�5�EH�|$L�MA��@E�}E����Ic�H�@H��I�|���H�EL��@A���H1�H�5�KH�|$1�A��E�o�1�E�w�E��,�'���fDH�.XH�|$1�A�у�I��0D9�����H�EI�t$L��@A9���1�A9�u�H��WH�|$1�A���A���`���H�M1�H�5L1�H�|$��@���I�G�T$(H��H�t$H�|$ H��8[]A\A]A^A_��H�|�#H��I��L�
|WL��H�5�JL�H�*ojPA�w H�D$8H�|$(H�1�A��@H�� �-���@H��E1�H�
�C1�H�5iH�|$A�����I�T$E1�H�|$1�H�
�CH�5ZJA��������AUATU��SH��H������H����L�%�#I�$���H��tVL�-�	#H���1�H�JI�}赒��I�$�1�H�5�HH����I�}�H��IH��1�耒��I�$������H��H�5�I��(	������H��t�L�%#��f.���AVAUI��ATI��UH��SH��H��PdH�%(H�D$H1��6{#��u5L�5�~#H���{#H�5MI�����ubI�H�=0J�R H�3H��t/L�5�~#fDI�H�SH��M��L��H���H�3H��u�H�D$HdH3%(u H��P[]A\A]A^Ð�<$u���z#����f���U���SH��A��A��H���~dH�%(H��$�1��F
�vA)�����)�A)�f9�D��D��AF�9�M�`��D�����D)‰Й��A��D���D)ș���lj��)ș��H�-�}#f�D$fD�D$H�Ef�|$
H��H����H��H�T$��H�H�D$pH�D$ H�E��H��$�dH3%(u*H�Ĩ[]�f9�D��AC�9�N�)�A)�)lj��t����Έ��@f.���駐�����AWI��AVAUI��ATI��USH���H�-�|#dH�%(H��$�1�H��H�EH����M�t$XL���ˇ��H�ML��H�߉���H�E�H��H�5�F���L��蘇��H�ML��H�߉���1�H�$L��H�n|#L��H���hH��I��H�E���H��$�dH3%(uH���L��[]A\A]A^A_�轇��f.���AWE��L�����AVA�ι����AUATI��UH��S�Ӊ�H��(L�-�{#dH�%(H�D$1�L�L$�D$I�E��(��E��D��H�D$I�EL��H��X1�H��H�����I�EH�|$����D$��IE�H�T$dH3%(uH��(H��[]A\A]A^A_����D��AUI��ATA�����USH��8H��z#H��$H�l$ H��$H��H��$L��$ L��$(dH�%(H��$�1�H��$`�D$H�D$H��$H�D$H�����,���HT$��H�2�D$H�H��t.D��H����D$��/v�H�T$H�2H�BH�D$H�H��uҹ�T$(H�t$ L��(	H��A��H����D��H��$�dH3%(uH��8[]A\A]�貅��f���AWA��AVI��1�AUI��ATI��USH��H�-�y#H�E���H��H��tH��H��[]A\A]A^A_�DH�E�X�P(D��H��H�EH����H�E1�H��L��L��H�EH��M��tL��L����f�H�5	�L����@f.���H�%y#H��A�1�H�5�CH�H��������SH�y#H�AQE1�APE1���ZH�YH��[H��p��Df.���AWAVE��E1�AUATI��H��UH��H��D��SH��H��x#dH�%(H�D$1�H�L$L�l$pH�QH�L$QD�D$p�L$h��L�ZE��Yj�I��H��jL��D�L$`L��H��A���L�E��L���T$xD�L$`L��H��$L��A���H�^_L����pH�D$dH3%(uH��[]A\A]A^A_�衃�����H��w#S��H��P(H��H��t��1�H���h���H��H��[���AWI��AVAUI��H��ATU��SH��H��HL�5�w#�T$dH�%(H��$81�I����H�$���I�oH�5�6H��薋��L�%?w#M�$H��tVE1�H�
9H��H��H�5�B1�A�A��@H��$8dH3%(D���HH��H[]A\A]A^A_�@H��A���I�H��H��H�$��xH��t.M�$E1�H�
�B1�H��H�5�BH��A�A��@�f�I�$A�1�H��H�
�IH�5�?���I�$1�H��A�H�
�IH�5@B���H���r����xI�$�P(I��H�
(BH�����H�D$�H��1�����H���;����xI�$�P(I��H�
�AH�����H�$H�Ǿ1��͊��I�$I�MH��A�H�p5H����I�$H��H��I�M A�H�V5���I�$H��H��I�MA�H�?5���I�$H��H��A�H�lAH����I�$H��H��H�$A�H�OA���M�OH��H��D$L�L$0H��H�
3AI�uj��A���D$<���_AX����I�$H�����D$,��I�I�UHH��H���xH�D$ H����A�u(E1҅���L�|$8M��M��H�\$�4�H��H��H��A�jH�|$(L���q���[Z��uCI��E9o(��I�G0J��u�I�H�S H�sH�|$ ��HI��H��u�L�C�@H�\$M��I�$L�|$@H��L�����	I�$H����I�I�UHH��H���xH����I�L�(H����I�$H�t$H���HI�$H�4$H���HI�$1�H��H���M��t'1�L������f.�I�$������u�I�$L��H��A����	I�$H�|$�P0I�$H�<$�P0�;����t$L���H��L��>�]���A������DI�$H�t$H���HI�$H�4$H���HI�$1�H��H����d����M��H�\$L�|$8�L$,��t{�D$L�T$0����H��M�| L�|$M���?f.�H��M�GE1�H��jH��L��H���r���AZA[���F���I��L9|$tI�L��H���}}��H��u��#���H�9r#H�$H��H�t$H����������I�$E1�L��H��H��"H����H��E1�E1�I�ujH�
!>H��H���̀��AXAY�������H��I�uH��E1�jE1�H�
�=H��蟀��^_�������H��I�uH��E1�jH�
�=E1�H���s���ZYA�Dž��V���A�E(M�$��~qH�\$E1�D�|$M��M���I�G0J��t6H�S�H��H�|$A���H��H��L��H�|$I���%~����ufM�$I��E9o(�D�|$H�\$�H��H��A��P���f�HcD$,H�L$0E1�H��M�$H�5�0H�T��H�
�_1�A��@���M��H�\$�~����i|��f���Hc�H�
H��tH��@1��D��H��l#H�=�l#H����fD��ATI��UH��SH��l#H��u�,@H���H��tH�3H���~����u�H��[]A\�D1�M��t�H�
p#H��L��E1�H�
�^H�5F<L�1�A��@H��[]A\�Df.���Mc�SK�H��tH��H����H��tH�1�[��1�H�1�����[�f���SH��H�诂��H��tH��H�PH��[��D1�[�@��H��`fD��H��`0fD��H��`8fD��H��` fD��H��`(fD��ATUH��S�G��~-L�%�n#1�DH��H��H��HEH�xI�$�P09]�H�}H��H9�tH��n#[]A\H�H�@0��[]A\Ðf.���AWAVAUATUL��SIc�H��HH�|$8H�T$(�L$����D�t$A���cH��$�H��$�H��H�D$H��D$�A����H� n#H�D$0E1�H��\$L�l$D�$�D�|$H�\$0D��I��@H�D���I��A�E��P(I�E�A9�ߋ\$L�������C���H��I�DH�D$ �D$��H��H��HD$H�D$@H�]H���x���T$I�ą��P�D$L�t$(L�l$M�>A�?t-�I�wH��tH�]L��H���v����t|I��8A�?u�I��I��L9l$u��D$���5H��H9l$ �p���H��H1�[]A\A]A^A_�H��l#D����H�D$0H��P(H��$�H�D$H�D�q���fDIcMI�UI��I���D$H��H�ʃ�A�E�H�EH�D�L9l$�����^���H�rl#I�T�E1�H�
�-H�5�-L�1�A��@H��H�[]A\A]A^A_��4���H�-l#I�H�D$0H�D$0H��H�|$8E1�H�
�ZH�5�/L�1�A��@H��$��~y��H��H�[]A\A]A^A_�H�]�@��AWAVA��AUI��ATUSH��H�|$H�4$L�D$dH�%(H��$�1�M���;L��L���v��I��E��~UA�F�E1�H��H�D$O�|5A�?t+L��fDH�uH��tL��H���t����tHH��8�}u�I��L9t$u�H�k#E1�H�
�YH��H�5�.H�|$L�1�A��@��?H�L$��$HJ�1t]H��t'I��L��H�4$H�|$H��j#D��$@H����H��$�dH3%(�;H��[]A\A]A^A_��H��t�I��L��H�4$H�|$H��j#D��$@H�����f�H�Ij#L�d$ L��H����E����H�l$A�F�L�|$L�t�L�t$�DH��H�5AL���H�MH��t&E1�I�UH�4$L��H�j#D��$@H����H�L��H��I�����H��I����t��H�L��L�����H9l$u�L�|$H�L�����H�L��L�����H�L���1�����u��f.���H��8dH�%(H�D$(1�I�H�$�L�D$H�@pH�T$H��H�D$j�D$HPL�D$ ��}��ZYH�L$(dH3%(uH��8��t��f���H��8dH�%(H�D$(1�I�H�$�L�D$H�@pH�T$H��H�D$j�D$HPL�D$ �e}��ZYH�L$(dH3%(uH��8��9t��f���AWI��AVI��AUATM��E��US�H��H�$H��$�H�T$ dH�%(H��$�1�H�D$H��H�L$ HD�I�$H�L$H���H�@pH�D$0L�l$8AUL��$���x��_AX������H�D$0���~>H��L�@H��g#L����$�H�VL�\$L��L�L$L����Y^��u}H�D$0��$��p��u��~1H�P��$�L��E�t$E�|$�u���Å�uCE;t$tD�EL����t��H��$�dH3<%(��u0H�Ę[]A\A]A^A_�fD��ĐE;|$u��E��r���f.���H��H�0dH�%(H�D$1�H��H��HD�H��HD�H��HD�A��@��H���H�A��uBA��tlH��(A��H���1�H�H�D$dH3%(�H����H��A��H��t�H�H��H��Ǹ��D����thH���A��H�t����fDA���tH�� H��K���A�� uA��tTH���H��-���DH���H������A��u:H�1��)���@�H�H��H��Ǹ�
���H�����@H���A��H��!��������q��Df.���D�T$A9�~JH�D$�0E9�/E)Ѓ���H�D$A�D��fDD����A���BE�H�D$�����D)ȃ�w>A���I��A��tB���H�D$�E9��E)�A��Du�A��t�몐�H�D$�E9��g����A���t�H�D$�0�f�A���I�����SH���D$8��tD9JtPL�R0I���H��u1�H��[ÉD$�D$ E��E��L�RA��H��H��PH��ASI�:�o��XZ�D$H��[��\$ 9Zu�D�T$0DT$(u��D$8t��f.���AWI��AVI��L��AUATI��USD��H��8�L$H�t$H�L$ ��$�D�D$D��$�dH�%(H�D$(1�H�B1�L�(�w��A��L��L�拄$�L��PU��$�P��$�P�L$,D�D$(�<l��I�G0H���ً��H�D$PH�D$PA�GPE�OD��$��T$(�t$,��n����$�\$,l$(�\$,A_ �l$(�\$$H�� Ao$A�_(E�,��$�tEH�T$H��t;L��L���Dt��AWL��L��SH�T$(L��A��D�D$�m��Y^L��H�T$L���$v��H�T$ H��t;L��L���s��AWL��L��SD�D$A��L��H�T$0�av��XZL��H�T$ L����u��H�D$(dH3%(uH��8[]A\A]A^A_���m��f.����UH��SH����H��H�b#H��P(H�����H�(H�XH�@H�@H�@0H�@8H�@@H�@HH�@PH�@XH�@`H�@hH�@pH���ǀ�H��[]�f.���H��-�@��H��H�Qa#�PH��P(Hǀ8Hǀ@ǀHH��Ð��H�=a#SH��H��H�Wp1�H�=q�"H�H���`H��`#H��[H�H�@0����AWAVAUATUH��SH��L�%�`#dH�%(H��$�1�H��@H�D$I�$��uAH��H�hI��I��QH���"��H�up����ZY���I�$H��@�H�|$���D$tL�l$H���H�D$hL��8H��@H�}pL��H�H�D$(H�CH�H�D$ I�$��H�sI��H��tH�MpI�$H�9��PH�L�{�@L��H�}pH�H�D$ I�$��H�sI��H��tH�MpI�$H�9��PH�3H�}pL�{�m��H�s I��H��tH�MpI�$H�9��PL�{ H��(L9��6���1�H�|$tH�}xH���Mr��H��$�dH3%(��uH�Ĩ[]A\A]A^A_���j�����AWAVAUATI��UH��SH�����tIH�"_#H��@H�H��t	��HH�H���I�|$P��PH�upH�}hH���H��@A�$��tA�T$H�����tA�T$L����1�L�5�-��tSL�,�L�=�^#M�J��-�I�H��t	��0I�L���I�|���@H�upH�}hH��A��J��-�A�$H��H��tA���u�H��H��u�1�L�5	-��tOL�,�L�="^#M�J��-�I�H��t	��0I�L���I�|���@H�upH�}hH��A��J��-�H��H��tA�$A���u�H��H��u�H��H��1�[1�]A\A]A^A_������USH��H��H�PH�-�]#H��t
H�E��XH�s0H��tH���o��H�SH�EH��1�H�=T�"H���`H�]#H��H�H�@0H��[]��f���AWAVAUATUSH��H�T$�L$dH�%(H�D$81�E����E��E����H�VH��D��I��D��$�1�1�H��L�:H�T$L�t$ �p��E1�E1�L��$�SL��L��R��$�SRATU�T$(R�T$4RH�T$H��i��H��0A��H�ڋ�$�L��L��P��$�P��$�PATD�D$(�L$,�i��H�S0H��E��鋺�H�T$RH�T$R�SR�t$,�T$(D�K��g��H�sP��$�D��$�l$,Dd$(�l$,D�d$(H�� H���QH�K0D�K\E1ҋC���D)ȍ?)Ѕ�~A�ƒ�A�A�D���H�T$D�CXE����D�HA�D�D$L�K`M��tx�����tnH��tiH�s0�C+Ct����<	)�1���~	�ǃ��Nj��L��@P��<P�CpPL$ �9L��L��P�D$,��L��Pj��k��H�T$HH��0L��L��L���&l��H�D$8dH3%(�H��H[]A\A]A^A_�H���3���A�H��1�L��E�AT��1�UAU�i���l$,H�T$8H�� H�K0D�CX���@L�C8H�T$M����H�K0�sD�CD���)�C�<	)�1���~	�ǃ���D���E��tPH��tK��$�tH���E�jE1�A�L��AT��L��UV�C@L��Pj�Cm��H�K0�l$<H�T$HH��0D��HDC@Dʼnl$�V����ve��fD��SH��H�GH�PH����H��Y#H�S\H�sXH���xH�C0��HSX�S�S\�SH�s`H�����>H�\0HD�8H��@L�KtL�Cp������;b���CH�s0�KpK9CtMCtH�{P�‹���A���H�C �C�J�C(�S�S,tx��HSX)ЉS �C([�DH�s8H��twH��X#H�{H�S@H�KDH�H�?��pH�C0H�s`��HS@�S�SD�SH���-���DH�5�/�*���@H�{8t���HS@)ЉS �C([�fDH�C0������SH�����H�CH�@H��tH��[��[�@f.�SH���W���H�CH�@H��t
H��[��@[�@f.���H�0t���Df.���SH�5��"H��1�H�H����`��H�C0H��t
H��[�@[�@f.���AUA��I��H���"ATUSH��I��H��H�GL�%|W#L�o0H�pH�xI�$QD����ZY����H�{0����H�{PH��tI�$��XH�CPH�SHH��t)H�CI��H�
����H�pH�xI�$��H�CPH��tFM��t)H�C0L9�t H��tH�����H����[]A\A]�fDH����H����[]A\A]�H���[��]A\A]�fDH�{H�5U�"1�H���_��H�C0�7���f.���UH��SH���PH��H�4V#H��P(H�(H�XH�@H�@H�@0H�@8H�@@H�@HH��[]���SH��H�GH�@H��tOH��U#H�SLH�sHH���x�SH�KLH�C0������H�C �r�A�S�C�S(�C,[�D1ɺ��Df.���H��!�@��SH���c���H�CH�@H��tH��[��[�@f.���H�%U#�8H�H�@(�����H�-U#SH��H��H�Wp1�H�=��"H�H���`H��T#H��[H�H�@0����USH��H��H�@H�-�T#H��t
H�E��XH�s0H��tH���Xg��H�SH�EH��1�H�=4�"H���`H�tT#H��H�H�@0H��[]��f���AWAVAUATUSH��H�T$�L$dH�%(H�D$81�E���sE��E���gH�VH��D��I��D��$�1�1�H��L�:H�T$L�t$ �h��E1�E1�L��$�SL��L��R��$�SRATU�T$(R�T$4RH�T$H�'a��H��0A��H�ڋ�$�L��L��P��$�P��$�PATD�D$(�L$,��`��H�S0H��E��鋺�H�T$RH�T$R�SR�t$,�T$(D�K�+_��H�s@H�� H��tqH�K0D�KL�SD��$������$�D)ʍ<)�����ҺO�Dd$l$H��D�d$A�L���l$A�1�AT��1�UD�CHAU��a��H�� H�T$L��L��L���
d��H�D$8dH3%(uH��H[]A\A]A^A_��V^��fDSH�����H�CH�@H��t
H��[��@[�@f.���H�0t���Df.���SH�5D�"H��1�H�H���S[��H�C0H��t
H��[�@[�@f.���AUA��I��H���"ATUSH��I��H��H�GL�%�Q#L�o0H�pH�xI�$QD����ZY����H�{0����H�{@H��tI�$��XH�C@H�S8H��t)H�CI��H�
���H�pH�xI�$��H�C@H��tFM��t)H�C0L9�t H��tH�����H����[]A\A]�fDH���0���H����[]A\A]�H���[��]A\A]�fDH�{H�5��"1�H���Z��H�C0�7���f.���ATUSH�����D�����u7H��H�hI��I��H��P#H�g�"H�Q��H�sp���Z�Y��u)H����b��9��u1�D9��tH�{xH���Uc��1�[��]A\�f�f.���AWAVAUATI��UH��SH�����t	�VH�����tA�T$L����1�L�5J��tSL�,�L�=P#M�J��-�I�H��t	��0I�L���I�|���@H�upH�}hH��A��J��-�A�$H��H��tA���u�H��H��u�1�L�5���tOL�,�L�=�O#M�J��-�I�H��t	��0I�L���I�|���@H�upH�}hH��A��J��-�H��H��tA�$A���u�H��H��u�H��H��1�[1�]A\A]A^A_�������H�GxI��L�E1�H�wpH��L��H�PxH��N#H�H�����@f.�UH��SH��H��H��dH�%(H�D$1�H�T$�SP�T$��u8H�iN#H�=�H�1��R �C`H�D$dH3%(uH��[]��H�h����Y��f.���Hc�H�
H��tH�����1��f.�AT1�1�I��USH��H�5�H���[��1�1�H�5�H��H�h@�[��L��H���H��t[H�@]A\�fD[1�]A\�f���AVI��AUA��ATI��UH�-uM#SH��H�E��XM��E��L��H��H�5��"H�=m�"�^��H��A��H�E���[D��]A\A]A^�f�f.���H��L�Gx��ta��t,H��H���ֹH��A�PX����H�����f.�I�PxL��L#E1�H�wpM�M���L�H��H��A���H�
�L#I�PxE1�E1�H�wpH�	L���H��H��A������Gd���G`����ATUH��H�SH�UL#L��HH���xH�H���H����P0H�sH��tH�IL#H�UpH�H�:��PH�3H��tH�*L#H�UpH�H�:��PH�sH��tH�
L#H�UpH�H�:��PH��(L9�u�H�Ex[H��]A\H�@`����G`�=���@�Df.�ATUSH��H���SHL�%{K#H��H��tSI�$H��p�k`H�����H#C`H�H9�t[]A\�I�$H��H�5����[]A\H��0��DI�$H�=�1��R �@f.���AVMc�AUATUSK�H��H�+H��t�9I��u9H��t�EdtH�+1�H��[]A\A]A^�@H��L��1�������f�H��I��L�D$���I��H��th�@dubL�D$H�PxI�H9���H�
fJ#H�=�L�aH�5rL�jWL��L�
H�WH�1�A��@X�Z�]���fDH�J#L��L��E1�H�
FH�5KL�1�A��@H���[]A\A]A^�@L9��	���H��tL��H��L�D$�2���L�D$L��L��L����������f.�AUATUSH��(dH�%(H�D$1��Gd��H�7��H��L�%kI#�GdH�hH��tI�$H��H��H�{hH���H�{h1�1�H�53�W��H�{h1�1�L���H�5H�h@��V��H��L���H��t
I�$H���pI�$I��H�{L���H��H��t9@H�CxH�@HH��tH�}��I�$H��pI�$L��H��H��u�H��H#H�{p�H��H�IH����I�$H�5����H���0H�D$dH3%(uH��([]A\A]��T��f�f.����>t�fD����f.���H��Gdt�fD�c�����S�_d��t3H��G#H��H�5�H��1�H�
1��@��[�f�������[�����>t�fDAVH��H�=$D#AUATUS�XD#I��H��t`L�pL�%uG#I�^`H��t#@H�{H�k���I�$H��H��P0H��u�I�$L���P0I�$[L��]A\H��pA]A^���[]A\A]A^��AWI��H�5AVI��1�AUM��ATI��1�UH��SH��(H�?dH�%(H�D$1��T��H�}1�1�H�5�H�XH�T��H�T$L��H���I���D$��u@I�YM��t�D$A�EH�L$dH3%(H���
H��([]A\A]A^A_�f�L�L$L��L��I�7H�}A�VPL�CF#L��H�}H��H�����L����I�H����L��H�H�EH�ChI�L�sxH�Cp�V��H�C`L�L$H��8L��E#H���H���Hǃ�ǃ�H�H��(H�@�H�@�H�@�H�@�H9�u�I�L�L$H�{����L�L$I�Y�����)Q��f�����A#��ubH��H�GE#�H�=�A#��A#H����H�=	�"�Q��H�=��"�Q��H�=Q�"�Q��H�=
�"H���tQ��@�Df.���H��H��H���>���@f.���AWAVAUATI��UHc�SH��H��xdH�%(H�D$h1����$H�qI��H���W��H�D$H�������&�l$L�l$@L�=SD��@#H�
��(L��A�@��@#1��Y��1�1�L��H���Q��1�1�L��H��H�h@��Q��L��H���H��u��l$L�l$L�l$I�H�t$0E1�H�T$H�|$(H�\$(L��H�D$ L�t$0���I��H���H�@x�u�I�T$1�L���PX�Ņ���H��C#L���L��H�>���H���0L�%nC#H��I�$���I�$1�L��H��1���@��@�����D$A�H�D$O�,�L���CN��A�L��H�=wH��L��HN�H9���€�����H�C#L��K�t�H��H���xI��H��t*I��D9��H�|$�l$������>���@L������H�\$hdH3%(���
H��x[]A\A]A^A_�fD��L��L��H�߹�Q�����H�AB#I�T�E1�H�
nH�5qH�߽L�1�A��@�DH��L��L��HN�H�=zH9������t%HcD$D9�tM�,�K�T�I�T��D$�	���K�D�H��O�l�H��H�D$��H�����E1�I�UH�߽H��A#H�
Y
H�5�L�1�A��@�����+M���f.���AWI��AVI��AUI��ATI��USH��H�wH�=�=#dH�%(H��$1���=#H��tvH�@H�@`H��u�g�H�@H��tWL;0u�H�XH��tIM��tL��L���I���L��H���.�H��H��$dH3%(��H��[]A\A]A^A_�f�H�-�@#H�\$0H��H�E���H�EH��H�$�H�5����I�GH�XXH���K��H�MH��H�$��H����H�EH��H�$�H�5�����I�H���LK��H�MH��H�<$����H�L$0L��I�wI�L�D$(�����T$(H�Å�t1�1�1�H��A�VX�KdI�G�H�D$H�E�P(H�T$,H�t$H�==<#I��L�0H�X�u<#I�‹D$,��u*I�BH�0H��tvI�VhH��tmH�D$H���H�D$�\@H�EL�T$�h�P(H�x?#H�|$�H�@`L�
H�H��H�z���H�D$A��0H�D$L�T$I�BH�P`H�<$I�WL�x`H�E��������J��f�f.���AUATI��UH��H��H�=W;#SH��dH�%(H�D$1�H�T$�;#I�ŋD$����I�E�oE@�oMH�PH�X`H�H�oU P(�o]0X8�oe@`HH�UPH�PXH��t%�H�H�@hH��t	H�{H���H�[H��u�H�D$dH3%(��H��[]A\A]�H�>#�hH��P(�omL��H��H�@`H�@L��k�ouH����H�s�o} {(�oE0C8�oM@KHH�EPH�CXH��=#H���0I�]�Z����?I��Df.���ATI��H�~USH�� H�-V=#dH�%(H�D$1�H��H�EH����H��t�H�xA�T$@H�EH���H��u�H�D$dH3%(u	H�� []A\��H�����AWAVL��8AUATUH��SH���H��L�%�<#dH�%(H��$�1��D$dI��H��H�}pL��H�H�D$H�CH�H�D$I�$��H�sI��H��tH�UpI�$H�:��PH�L�{�L��H�}pH�H�D$I�$��H�sI��H��tH�UpI�$H�:��PH�3H�}pL�{�I��H�s I��H��tH�UpI�$H�:��PL�{ H��(L9��6���H��$�dH3%(uH�Ę[]A\A]A^A_��qG�����H��@��H��H��;#�HH��P(Hǀ8Hǀ@H��Ðf.���H�};#SH��H��H�Wp1�H�=Q�"H�H���`H�.;#H��[H�H�@0����AWAVAUATUH��SH��L�%);#dH�%(H��$�1�H��@H�D$I�$��uAH��H�hI��I��QH���"��H�up����ZY���I�$H��@�H�|$���D$tL�l$H���H�D$hL��8H��@H�}pL��H�H�D$(H�CH�H�D$ I�$��H�sI��H��tH�MpI�$H�9��PH�L�{�@L��H�}pH�H�D$ I�$��H�sI��H��tH�MpI�$H�9��PH�3H�}pL�{�QG��H�s I��H��tH�MpI�$H�9��PL�{ H��(L9��6���1�H�|$tH�}xH���L��H��$�dH3%(��uH�Ĩ[]A\A]A^A_��!E�����AWAVAUATI��UH��SH�����tIH�b9#H��@H�H��t	��HH�H���I�|$P��PH�upH�}hH���H��@A�$��tA�T$H�����tA�T$L����1�L�5�	��tSL�,�L�=�8#M�J��-�I�H��t	��0I�L���I�|���@H�upH�}hH��A��J��-�A�$H��H��tA���u�H��H��u�1�L�5		��tOL�,�L�=b8#M�J��-�I�H��t	��0I�L���I�|���@H�upH�}hH��A��J��-�H��H��tA�$A���u�H��H��u�H��H��1�[1�]A\A]A^A_������UH���PSH��H��7#H��P(H�5J�"H��1�H�hH��H��H�0�@��H�CH�C0H�����H�CHH��H�CH�C H�C(H�C8H�C@H��[]����SH�w0H��H��t��I��H�+7#H�SH��1�H�=��"H�H���`H��6#H��[H�H�@0����AWAVAUATUSH��H�T$�L$dH�%(H�D$81�E���mE��E���aH�VH��D��I��D��$�1�1�H��L�:H�T$L�t$ �J��E1�E1�L��$�SL��L��R��$�SRATU�T$(R�T$4RH�T$H�C��H��0A��H�ڋ�$�L��L��P��$�P��$�PATD�D$(�L$,�OC��H�S0H��E��鋺�H�T$RH�T$R�SR�T$(�t$,D�K�A��H�T$8H�� H��toL�K8M��tfH�C0�KLL��L����$�D��$���D��L��@��<l$Dd$�l$D�d$QL��P�CDPATU�C@P�E��H�T$HH��0L��L��L���F��H�D$8dH3%(uH��H[]A\A]A^A_���@��f�f.���SH�w8H��H��to�>H��HD�H�C0�C@����L�KHL�CD�������8H��@��=��H�C0�SD������H�C �J�KH�S�A�S(�C�C,[�DH�5���SH���g���H�CH�@H��t
H��[��@[�@f.���H�0t���Df.���SH�5Խ"H��1�H�H���3=��H�C0H��t
H��[�@[�@f.���ATA��I��H�]�"U�SH�GH��L�g0I��H�pH�xH��3#H��H�QD����ZY��u$H�{0��t9M��t$H�C0L9�tH��tH�������[]A\��H���X�����[]A\ÐH�{H�5�"1�H���k<��H�C0�D��UH��SH���PH��H�3#H��P(H�(H�XH�@0H�@H�@H�@8H��[]���H�G8H��t;��X��\H�G0������H�G �r�A�W�G�W(�G,�@1�1���f���H���@��H���>I��uH�G8L��E�HE�P�x���E9HtI�@H�@H��tL��H����@E9Pu�H���f.���H���3���H�GH�@H��tH����H��Ðf.���H�8��ATL�%2#H��H�N���UH���SI�$H��H�G8H���I�$1�1�H���H�CH�pH;u@t
I�$H���I�$H���H�����H�CH�@H��t[]A\���[]A\�����H�51#�8H�H�@(�����H�=1#SH��H��H�Wp1�H�=q�"H�H���`H��0#H��[H�H�@0����USH��H��H�8H�-�0#H��t9H�EH�پH�0������H�EH�{81�1����H�EH�{8���H�s0H��tH���9C��H�SH�EH��1�H�=��"H���`H�U0#H��H�H�@0H��[]����AWAVAUATUSH��H�T$�L$dH�%(H�D$81�H�~8��H�VH��D��I��D��$�1�1�H��L�:H�T$E��L�t$ �C��E1�E1�L��$�SL��L��R��$�SRATU�T$(R�T$4RH�T$H�=��H��0A��H�ڋ�$�L��L��P��$�P��$�PATD�D$(�L$,��<��H�S0H��E��鋺�H�T$RH�T$R�SR�T$(�t$,D�K�;��H�S0�CD��$�D�K��������$�H�� A���)��A)�A�<��D)�9�B�<
H�
/#O�D��)�D9�H�{8L�DO�H�sL�G@H�v��~<E��~7��~3E��~.D\$T$D��A��L9�trA�ȉ�D��A����*f�L9�tA���H��.#H�{8L�A���H�T$L��L��L���?��H�D$8dH3%(uIH��H[]A\A]A^A_�D�L$D�$A���D�$D���H�1.#H�{8E�ȋL$H�����9��@f.�H�����H�GH�@H��t
H����@H��Ðf.���H�0t���Df.���SH�5̷"H��1�H�H���6��H�C0H��t
H��[�@[�@f.���AWA��I��H���"AVAUATU�SH��I��H��H�GL�=C-#L�w0L�o8H�pH�xI�QD����Y^����H�{0���wL�c8M9���M��t;I�H��H�H���L�����I�1�1�L���I�L���L�c8M����H�KH�AI9D$@��L�HXH�s,#H��L�d�I�T$XH�yH�58�H�
��L�j1�A��@XZH�C8�H����[]A\A]A^A_�I�H��H�����L����0I�H��L��H�5��"���L�c8M��tcH�C0L9�tZH��t�H������A��$t�H�yH�
�+#E1�H�5��L�@XI�T$X1�L�H�
~�A��@�F����H������?���H�{H�5��"1�H���4��H�C0�k���f�H��tCUSH��H��H�-c+#H�wH�EH;s@t
H����H�EH���H��H��[]��fD����ATUSH�����D�����u7H��H�hI��I��H��*#H�7�"H�Q��H�sp���Z�Y��u)H���=��9��u1�D9��tH�{xH���=��1�[��]A\�f�f.���AWAVAUATI��UH��SH�����t	�VH�����tA�T$L����1�L�5���tSL�,�L�=C*#M�J��-�I�H��t	��0I�L���I�|���@H�upH�}hH��A��J��-�A�$H��H��tA���u�H��H��u�1�L�59���tOL�,�L�=�)#M�J��-�I�H��t	��0I�L���I�|���@H�upH�}hH��A��J��-�H��H��tA�$A���u�H��H��u�H��H��1�[1�]A\A]A^A_�������AUA��ATI��UH��SH��(dH�%(H�D$1�H��H���9��D�mHH��L��H�=u�"�x6��H�D$H��t+H9�t:L�-Z�"�H9�t,H��L��L���:��H�D$H��u�1�H��H�=/�"L���O7��H�D$dH3%(uH��([]A\A]��4��Df.���AUA��ATUH��SH��(dH�%(H�D$1�H��H����8��H��H��H�=��"�5��H�D$H��tFL�%��"fDD9hHtH�p8H�x���H��H��L���G6��H��H��L���9��H�D$H��u�H�D$dH3%(uH��([]A\A]��_3��Df.���AUATI��UH��SH��(dH�%(H�D$1�H��H���18��H��H��H�=��"�4��H�D$H��t2I9�tPL�-��"��L9�t;H��H��L���
9��H�D$H��u�H�D$dH3%(u6H��([]A\A]��I�t$8I�|$���H��H��H�=|�"�?5����2��������~H��8.�����fDAW1�AVLc�AUATN�$�USH��E��$�����A����D�OE��~	���mA�AO�,6Lc�H���GJ�/L��B�T8T���������o��uZM�1ɉ�N��N�<L�$M�w L���_������L�$M�A�FhA�GhB�D�@AFlA�Gl�CE��$�D�H�����D����A��$�1�D�KH��[]A\A]A^A_�D��u�E��A��A�ʀ|TH��u	E���vH��H�߅�D�$D��\DD�XFl�XFl�\�����tRD�$K�6I�J�D8J�ӋJh�L����6�����CE��$�D�H�fDD�����;���DH���[]A\A]A^A_�@A���"���D�OE���[����_���@O�/��N�<�A��1�L�D$M�O A��L��L�$�����t�L�$E��L�D$M�K��BhA�GhB�D�@BlA�Gl�CE��$�D�H�����M�J���P �PhB�T�@�Pl�f���fDL��DjlH��D�lt�CE��$�D�H�����@L��H��H�Dh�+����RlI�FH��D)�T�CE��$�D�H�����f���H��##H��`0Df.�USH��H��H�-�##H�?H�6H�UH;w@t ���H�EH�;H���H��[]��@H���H��[]��H�I##H���O0H�=;H�H�����Df.���H��tH��G0u���I��H��H�����H�8t5H�@hH�@pH�@xHǀ�Hǀ��@H�@H��u�@I�;tBUSH��A����Ѓ���u;A�������u,M�[M����I�;u����M�[M��u�1��@1ۉ��t��t9H��t�A�������u�1�1҉�L���{�����t#A������u�1ɺ��L���X�����u���@1�H��[]�Df.�ATUH��S��H����#dH�%(H�D$1���u=L�%�!#�H�=#�|#I�$���I�$�H�=�#�����u@H��H�=n#��#H����H�XH�L$dH3%(H����H��[]A\�H�T$H��H�=)#�k#I�ċD$��u0I�\$H�$!#H�پH��H�JH���0��H�� #�8H��P(H��H�(H�@H�@�@�@$H�ddH�C(�c0�I�\$�f�1��.����4,��@��AVAUA��H��ATI��UH��SH��H�ĀH�1dH�%(H�D$x1�H�Z #H���xH�����H��D���@�����I�ƃ���A����L�-�#H�T$I�t$H��I�E��8��uUI�EH�T$I�t$H��8��u:�D$�����T$����A�F(A�V,A�F0uL���;���1�f�H�L$xdH3%(����H��[]A\A]A^�DH�Q#1�H��H���H�5��L�1�A��@�H�\$D�H,D�@(H�
��H�ߺd�1���3��H��1�H��H��#1�H�1���@�_����I�M1�H�5��H��1���@�;����v*��fD��H��#ATH��I��UH��SH�H��H�1��xH��t>1�H�����H��t@H�XH��t$L�%`#H�H��H�pXI�$��8H�[H��u�1ۉ�[]A\�f.�H�)#I�$H��E1�H�
@�H�5m�L�1�A��@��[]A\�@f.���UH��H��SH��H��H��#H�1H���xH��t:�H�����H�x���1҉�H��#H���u H�5I�H��1���@H����[]�DH��1�H�5\�1��@H����[]Ðf.�AWAVAUATI��USHc�H��8D��ߠ�T$dH�%(H�D$(1�E��x
����t E��ܤE����A������E����E����I�D$M��E1�E1�H�-�#H�H�D$��`�Jx�R|�)�)�H��H���L$ �T$$H�$A�D_U<t��<��<u�H�E�4$��P(M���4$I��H�L�x��I�EH�CM��L�{(H��H��C�D}<t��<��<u�M9��H�E�t$�L�$�P(L�$�t$L�0H��L�hA�|]T��I�Q�|ZU��M��f��f��L��f��L�<���I�BM�L���f�A��\AD�XN�8AHXL�\�*�A����Xȅ�~f��*��X�M��u���ڤ��~f��*��X�H��f�f�L�\$f��H��f�f���*|� I�LH��*Ah�A*l�(�*pp�*Ql�Y��Y��^��^��X�f��*@t�X�(��\��\�/���/�r�$��= �H��L��D(��R�,҅�(�ADÉ��M��tf���X��*��X��,�A��ݔA���M���sM�nL��M�6K�L=f�f��E1ۋ��D(�D(��A*�ݤ�*��D_��D_�A(�A(�H9�t$D/�vA��E1�A��Dƒ�D)ƒ�A���Y�I9�t�AY��Y�O�D�Y�E����^��^��,�f�D��*�I�ED��X��\�X��,�f���*�E��������D,�f��AD��*�D����X��,�(��X�A��ݔM������������,�A��ݔ����L��H��4��L�hH�A�D�H��u���
�L��M�6H�E�P0M��u��H�D$(dH3%(�@�T$H��8L��[]A\A]A^A_�nfD���8���H�E�t$��P(M���t$H�L�x��I�EH�$M���M��tA�T_T��tI�ŀ�����I������@���+���M9�t0H�EH�L$��t$L�$�P(H�L$�t$L�hL�$L�0I��M�l
M��tA�|]U����DM�nL��M�6����f�H�H�E�P0H��H��u�1�H�t$(dH34%(u$H��8[]A\A]A^A_�DI������I���c����s#��HcƋ�����t�u�G��~��t�=���D�t�1�Ð��f.�AWHc�AVAUI��ATUHc�SL�t-H��H��(�OdH�%(H�D$1��A�GL��D:T<����<�*<u>I�1Ƀ�N�d� L���Q�������J���B@C�������C�H�DE��������������1��KH�|$dH3<%(��H��([]A\A]A^A_�fD��u���Hc€|Tu��ubH�L�4�H�ߋ�\D�X�AFXD�\A��������A���A���D���C�H��N���DDŽ�D�������4���f�M�$A��1�N�D� A��D��L��L�D$��������L�D$Mc�J��K�L>$�B@A�����C�H�E�������fDH�{H�7��`D�Fx�v|�)�A)��t$I�4D�D$L��D�A�@h��|�(A@l����E���s����5���D��u���fD���D)�A����C�H������� �����AWAVAUATUSH��H��8dH�%(H�D$(1�H������G0���O����H�����]H�;H�K��`��D$�D$$�D$ H���AE1��f����T4����E�����l3(A9�uE��yD)�1���~��E)��™A��f�A�D9�}E�D��A9�~E�D��9�~A�H��I��H��u<H�IH���EH�H��t�A\AXL�D$ 1��X�D$�AdA`�\�D$D�d�h�l�lD�\�pD�l�tE��A�ƅ���E��������D3(�A��A��E1�E��~�T3(A9�tD����D)�A�љA��A��E9����1�D9�EM�EM�����@H�y�"��H�=��H��8&����c0�H�D$(dH3%(��H��8[]A\A]A^A_�f�E1��]������y1�E�������1�E1�E1����@��d���f��t$ �T$$�L$�΅�N�ʅ�NЉs�S 9�X���C$�H�K$��2��H���"���H�=��H��]%��H�;�C$������D��`D�gxD�w|C�D-A)�A)�E����E�����H�kH������H��f.�H�8tHǀ�Hǀ��@H�@H��u�@H�}t&����Ѓ����-��������H�mH��u�H�kH���]���DH�}H��tw������D���D�}X���V�D�E`H�u��D���A��D)�D)�E)�+M\E)���D+MdA����~ E��~��x��xE9�|E9��-DH���X�H�mH���s�������fDH�#�c0�H�����C0�����H�D$(dH3%(�4H��8H��[]A\A]A^A_�H��9�\�����5����E1�D����uV�UD�|$��~,H�Z#H�=��H�1��R H�k���f��t$�����1�D��H������t�B�����L$��u�E������H�����t�I���Z������A��g���@E�L�=�#C�H�6D�E�I�H;w@t A�ȉ�D����I�H�}������E��D���I�H�}�������5��D��A��I��H��H��H�=I�"H�5»"� ��f.���H��H9~tSH�H�~t8H�WH�rH�A#H�@H�5�"H�GH��GH�8H���H���H�w��f.��Df.���L�GI�pE�HH��H��u��H�@H����H9�t�1��LT����v.�LU����vRH9��txH��H��t��LT����w�H;|� u��DT�D� �����L�@�LU����w�DH;|�(u��DU�D�(�����L�DH9��u��HDŽ��w����H9�tCH��tYH�VA��E�HÐH�FH9�u�"DH�PH9�t�H��H��H��u�A��E�H�H��A��uI�@A��I�PE�H�I�p�Df.���ATUSH��� ��H�3H�=�
#�#H�-I
#H��t
H�UH���pL�cH�EH�H��P0A�D$0u[L��]A\��fD[]A\���H��twUH���SH��H��H�-
#H���"H�?H�E���H�E1�H�;1���H�CH�;H�0H;w@t
H�E���H�;H�E���H��H��[]�%��D�Df.����G0��UH��H��H��S�H��H�k#H�?H����H�}H��tfDH�_���H��H��u�H�uH�=	#�V	#H��#H��tH�H���pH��E0tH��H�=�������e0�H��M0H��0H��H�5�"H��[]���Df.������t%��u�G��~�G0u�.�fD���[���f.������t��uH��G0u
����H�u	�������f.���UH���SH��H��H�-,#H�?H�Ҕ"H�E���H�CH�;H�0H;w@t
H�E���H�;H�E���H��H��[]�[���f.���ATU��SH��H�� ��#dH�%(H�D$1���u=L�%~
#�H�=�#�X#I�$���I�$�H�=^#�����uDH��H�=�#��#H���kH�@H�\$dH3%(�ZH�� []A\�f.�H�T$H��H�=a#��#H�ŋD$���H��	#��H��P(1�H�H�H H�@H�@�DTH��H�A��D�@�D�X�A8�A<DŽ������Hǁ��DUH�A��D�D�D�\�A@�ADDŽ������Hǁ�DŽP�DŽP�H��H���V���H�EH���H��H�	#H�D$L�H���"A��0H�D$����H�E����1�����t��@��AVH��I��AUATUSH��H��H��H�1dH�%(H�D$1�H��#H���xH����1�H�����I��H����H�-K#H�T$I�vH��H�E��8A�Ņ���M�vL���N���H�=��L��H��HN�H9��@��@��@�������H�HcNjT$H�M�4L�A(C��B�|T�3I�|$�G0u>�c��7�H��#E1�I�H��H�
y�H�5��L�1�A��@fDA�H�\$dH3%(D���bH��[]A\A]A^�fDH���H�=��L��HN�H9���€����H���L��HN�H�=��H9��@��@��H������H���H�=��L��HN�H9��@��@��H��������L�ME1�H�
��1�L��H�5P�H��A�A��@����f�I�̃�L�H Hc�H�A�����������H��������L���I��H���L9�t H��tHDŽʰH���B��L����[���fD�� ���fD1��������f�f.���AWAVAUATUH��SH������D�j���A��uwH��#L�9I��H��I��H��H�L����xH��t7����H��#E1�L��H��H�
��H�5/�L�1�A��@H���[]A\A]A^A_�DH�I#H��1�H�E�H�5�L�1�A��@H���[]A\A]A^A_�fD�H��H�D$�>��A��H�T$I����I�t$�H�=���������H��#I�t$L��H��H���xH���?����H��D�k�I�����H��I�GH9�tbH��t?H��#1�I�?1�H����I�GI�?H�0H;w@tH�|#H����L���c��L��H����
���fDI��H�xtUE��+I��G0u��H��1�[]A\A]A^A_�I��I�t%M��D��H��L��L�������u��n����H�z@H���Z�������H���!������H��#ATI��UH��SH���xH��t1�H������H��H��tH��[]A\�1�H��[]A\�fDH�Y#E1�L��H��H�
)�H�5��L�1�A��@�@����~eAU�B�I��ATI��UH�l�SH��H���H��H���|��H9�t'H�3L��L���y��H��u�H���[]A\A]�@H��1�[]A\A]�1��AUHc�Hc�ATH�I��UH��SH��dH�%(H��$1�H��DT<����<�<unH�
I��H�
6�1�D�D�@��L���7��H�D� M��L��H��L�
��H�
8�H�H�5��H�PXH�#L�j1�A��@XZDH��$dH3%(��H��[]A\A]���u�H��#H�5�H���8�H�H��H�
�1�D�L�@D�D� H�ߺ��}��1�H��L��H�~#H���L�1�A��@�f���fDH�
I��H�
(�1�D�D�@��L���)��H�D� M��L��H��H�
1�H�5��H�L�
y�H�PXH�#L�j1�A��@Y^�����f.�AWM��AVI��AUI��ATL��UIc�SHc�H��8L�%�#H�4$H�L$ H�T$L��dH�%(H�D$(1�I�$���A������L$A���A���w9H�T$ H�2�<&�.��<.��<n� �����M�$E1�H�
��1�L��H�5��L��A��@H�|$ H��tI�$�P0H�A�I��D(TH�D+A��H�\$(dH3%(D����H��8[]A\A]A^A_�fD<#t<%��I�$D�D$H��L��H�T$��8D�D$���o���H�I�H�D(�D*T�T$A�ƃ|$H�T$ �!H�D]A��H���_���I�$D�$H��P0D�$�H���@�����D�D$H��H�L$L��H�0�"H�4$H���PD�D$������H�I�H�T*�D(T�D$A��H�T$ ����uH�2�H�=m��������H�D]A���I���DH���"H�$D�D$L��H���xD�D$H���R�������M�$E1�H�
��1�L��H�5��L��A��@����D�D$H��H�$L��H�A�"H���xD�D$H�������u��H��D�D$�'��I�~H��I���x��H�D�D$I�H�T*�D)TM�<��O�����H�=��������]���I�^�DT�D�����H��D�D$�
��I�~H��I�����H�D�D$I�H�T*�D)TM�<������H�L$H�RH�4$L��H�I�"D�D$H���P��������T$H�D]D�D$A��H�T$ ����I�NH�D]�L�(A��������f.�ATI��H��L��U��S��H��dH�%(H�D$1�H���"H�T$H���8����Hc�Hc��L$H�H�<2M�L�G(C��B�|Tt!H�\$dH3%(��H��[]A\�@I�4���L�N Hc�H�A������t�H���u�I��L���H���I9�t H��tHD��H���B��L����u���fD��e����y��f���AWAVAUATA��H��UH��SH��H��H��HH�1dH�%(H��$81����H����I��A���kH�d|"�D$$L�-E�"M��H�D$H�&|"H�5��H�D$H���L�%*�H�D$H�D$0L�|$(I��1�M�E1�1�L��H��A��@�T$$��H��H�t$(� ���M�E1�1�L��H�t$H��A��@E�D�XL��1�H�
�������M�E1�1�L��L��H��A��@H��u@H�D$I��H�T$H�D$�|$$H�L$tGH�H�2�D$$H�D$�E����H�D$�H�pH�D$H�@H�D$�����1�H��$8dH3%(��H��H[]A\A]A^A_�DH�U�H�=|�H����������C�	H�=y�H�����H�����%�H�=?�H����������Q�
H�=?�H�����H�����6�H�=��H��������Ʌ����H�=�H�������H�Ʌ����H�=��H�������ta�H�=��H���������H��"E1�H��H�
��H�5w�L�1�A��@�������������L��H������1��j���1���1�H�DAH�l$0��E�D�H�
8�H��1��H
��1�H��H��H�I�"H�1���@1������딹맸령���������AWAVAUATUSH��(dH�%(H�D$1�������I��I��H����I�hH��M�tL�}��H�=~�L����������L��H�=w���������L��H�=�������b�L��H�=>�������T�L��H�=��������6�H�=��L��������0�H�=��L���������H�=z�L����������H�=��L�������tz�H�=c�L���������L�|$H�UL��H��H���"L��H���P���b�H�T$dH3%(�H��([]A\A]A^A_�f.�L�MA���H��L��L���B�����t�H��L9��H���1��@L�ME1�1���DL�MA�1��f.�L�ME1���f�H��"1�H�50�H��H�1���@��;�����H�=X�L�������udL�|$H�UL��H��H���"L��H���P������D$L��A�E`H�r�"H�H�UL��H���P��������D$A�Ed�����	H�=��L��������.�H�=��L���������
H�=��L��������&�H�=��L���������H�=v�L����������H�=t�L����������H�=/�L���������H�5A�L���1������H�5.�L��������H�5#�L���������H�5�L����������H�5�L����������H�5��L��������iH�5��L��������RH�5��L��������(H�5��L���y�����H�5��L���b������H�}H��A�H�5��L��H�|$I���L��H��H��L�x�I��IN����A����
IDž����D$L��A�EXH�&�"H�H�UL��H���P���q����D$A�E\���H�L$H�UL��H��H���"H���P���=����D$A�EX���H���"H�L$H��H�L$H�UL��H��H���"H���P��������D$A�E`�@���H�~�"H�L$H���������L�E�1�H��L���n������������L�E1�1���I��L��H�|$H�5��IN��z�����uD�H�� I�������H���"E1�L��H��H�
��H�5�L�1�A��@�@���A�I��H�|$H�5��L��IN�����A���u1H�I����S���L�E���$���L�E1���I��L��H�|$H�5��IN������uIDž�����H��"E1�H�T$H��H�
��H�5N�L�1�A��@����f.�D��H�GH��t#H���"H�GH��H�H�����D�Df.���H���"I��L�E1�H�wH��H�N�"L��H�H�����Df.���AVI��AUA��ATI��UH�-E�"SH��H�E��XM��E��L��H��H�5��"H�=�"���H��A��H�E���[D��]A\A]A^�f�f.���AUH��ATUH��H��SH��H��H�IdH�%(H�T$x1�H�L�L$L�D$������uTL�d$D�L$��1�D�D$H�
]��dL���h��L�-q�"H��I�E���I�M1�L��H��1���@H�T$xdH3%(��uH�Ĉ[]A\A]�����f.�AWAVAUATUHc�SH��H��L��dH�%(H��$�1�L�������xt�����L�-��"I��I�E�P(L��I��H��`M���L��H�
k��P,�h0R�P$R�P(R�@ H�����PH��o"L��1��h��I�EH�� L��H�{��������(	��t#I�EH�{H�5\��� I�EH�{��pM9�t
I�EL��P0H��$�dH3%(��u.H��[]A\A]A^A_�f.�I��L�-��"M���!������f�AWI��AVAUATI��UH��SL��H��(L�1�T$L�l$`L�L$L��dH�%(H�D$1�����H�=��L��H��HN�H9����������H���H�=!�L��HN�H9���€�1���t+H�\$dH3%(��H��([]A\A]A^A_��I�WI��L��H��A�EL�l$H�
��M��������us�|$t|�H�\$�떐I�OI��L��H��A�EL�l$H�g�M��������u3�|$u�I�OL�L$M��H�A�L��H������������6������+���fDI�WM��L�D$H�
�������fD��AWAVI��AUATA��UH��SH��H��L�9dH�%(H��$1�L���1����H�=��L��H��HN�H9���€����WA��t+H���"I�V�E1�H�
��H�5��H��L�1�A��@I�NI�VL�L$H��L�D$H��A��������L�-t�"L�d$L��I�E���I�EH�5>�L���H�EL��H��$�H�pXI�E���D�D$H��1�H�
�������I�EH��L���D�D$H��1��H�
�������I�EH��L���I�EH��H�t$���L��A��I�E���H��$dH3%(D����H��[]A\A]A^A_�H���L��L�-m�"HN�H�=`�M�MH9������upA��t#I�V�E1�H��H�
1�H�5z�A��@M�ML�d$L��A���I�EL��H�5����H�EL��H�pXI�E�������f.�E1�H�
�L��H��H�5��1�A�A��@�����p���AWAVAUE1�ATA��USH��H��hH�� H�L$(L�|$HL�t$DdH�%(H�D$X1��t$PL���T$TI�W�?���H�D$PH�D$ �H�D$H�D$@H�D$F���0D�l$8E��~uH�D$ 1�H�H�D$A����]�A9/~MH��H�� ��H��AVL�L$ ��L�D$(�T$H�S���A)�H�D$D+d$TD+d$PD� B���0AXAY9��A��E��~A�D9���H�D$(H�|$ H�
��DŽ8X���H��8h���H�D$I��H�D$H�D$  I��tD� A�����DH�L$(�A��y	�A1�H�L$(�Q9�}�QH�|$(�G,��y	�G,1�H�|$(�W(9�}�W,H�D$XdH3%(��H��h[]A\A]A^A_�DE�Һ�h�AI�9���H�D$ D�d$<L�|$0H�H�D$1�A��DH��H�� H�߉�AVL�L$ L�D$(�T$H���A)�H�D$D+d$TD+d$PD� ^_E���B���0��A�������I�9�}�D��L�|$0E��A��D�d$<A���H�L$ D)�)�H�|$(��X���D9���D�\$H�1�L�l$0I��D�d$<E��fDH��D��M��H��AVH�� A��L�L$ �T$H�8���ŋD$TD$P�ZYE9'�D�\$L�l$0D�d$<f��D)�f�H�D$(�A*�H�L$ �*��^���h�����D��L�|$0E��A��D�d$<A����&��������D��L�|$0E��F���0��D�d$<��A����1��|���E����������AVI��AUATI��USH���dH�%(H��$�1����[H�GL�-��"H�l$�px�P|A���AF0H�\$0L���H��)�)‰t$�T$���H��H��1��qL�L$L�D$ A���A~0�|��):�����If�f(��*A�\��Y�f���*��^��X��A�H��H�� �A�H��u|H�\$p�\$(�T$H�
:��L$ �D$�PH�߾�����I�M1�1�H��L��@1�H��$�dH3%(��H���[]A\A]A^�@�q�):���.���f(�f��K���f�L�-y�"H��H�1L��H�l$I�EH��8��u*I�EH�UH�sL��8��u�t$�T$�o���@��S���������AT�I��UH��SH��H��H��H��8dH�%(H�D$01�H�D$(PL�L$,L�D$(����ZY��u$H���"H�T$$H�uH��H���8���D$t!�H�L$(dH3%(u4H��0[]A\�I��$ D�L$$L��D�D$�L$�T$ �n��D$��#���SH��H��H��H��8dH�%(H�D$01�H�D$,PL�L$0L�D$,�Y���ZY���D$t�H�\$(dH3%(u,H��0[�@H�� D�D$ H�ߋL$�T$$��D$����f�AWAVI��AUI��ATI��UI��SH��(dH�%(H�D$1�H��H����H��H����H�D$H��u#�kDH��H����H�D$H���MA�ND�H�PA9AMD9��*A������A9�|��HD�PA�vE9VEMV������9��D9�|��xA��D�Af.�D���������A9�tS�։�A+4$A+L$��tU��u�M��(Hc�HcɃ�L�<�M�[I��J�4��N A�˃�A��A��D	وN A9�u���D9�u�����M��(Hc�Hc�H��M�[M�<�I�πI �k���f.�M��(Hc�Hc�H��M�[M�<�I�πa ��;���A������H�D$dH3%(uH��([]A\A]A^A_É�������ATUH��S���~cL�%��"1�f.�H�EH�<�I�$H���P09]�I�$H�}�P0I�$H�}�P0I�$H�}�P0I�$[H��]A\H�@0��fDL�%i�"����AUA�ATI��H��UH��L��SH��H��H�IH�dH�%(H�D$1�L�L$I���I��t%H�T$dH3%(D����H��[]A\A]�H�� �T$�4$��H��t0H��H�uL�KH��jL�H�
�"L���u�A��XZ�fDH���"H��H�
�H�5��L�
ƵL�CH�L��L�j1�A��@Y^�T����$�@AWL��hAVI��AUATUSH��H�wdH�%(H��$�1����L�l$`�Nx�n|��G0)�)����L��)�)ʼnމ�\$�K���I���M�fH���"H�D$A�G�����AOf��Ψ�A*G�\��Y�f���*��^��X�I�?tXH�
h��<�L���t�L�1�1�L��I�7L��A��0��tH�L��H�5Ĺ�� H�L��pI�� L9|$�W���I��H��tH�I�~������"I��(H��t�)���A��0A�t�l$\E1�D$0D�|$�(�D$PA��4A��D�|$X�D$4�D$TH��P(I��H�D�x �h$I���H�D$I��H�D$HH�D$ H�D$LH�D$(G���0D�l$1�E��~tD�D$E1�E�����;l$��H��M��D��L��I�� �t$0A��L�L$0�T$ L�\$H��ŋD$\D$X�C��G;��0XZL�\$8|�F�|�P;l$}Yf.�H��M��D��L��I�� �t$0A��L�L$0�T$ L�\$H�1�ŋD$\D$X�C��AZA[;l$L�\$8|�I�� I��t�D$\A��D$���@A�<$H�1���P(A�|$I�D$H����P(M��M��I�D$H�D$HH�D$H�D$LH�D$ A���l$����M�|�M��E1�M�ސA���0D��D9�L�P)�L�T$(H��M��L��I�� �t$(I��I��L�L$ M�L�D$(�T$�B�L�T$8A�G�D$XM�|�M�A�$�D$\A�D$^_E9,��M��M��H�D$ H��t��M���@M��M��A�$�<�H��P(A�$I�D$����A�L$1�f�L�,�H��<����P(A�L$I�E��~/I�D$�Q�H�T�H��H��fDH��` �H��(H9�u�A�$H��9���I�D$�DM��M�΅�~5I�D$�r�H��H�HH��
f�H���PP�PH��H9�u�A�T$��~/I�D$�r�H��H�HH��H���PP�PH��H9�u�I�VM��(IdžP�Bx��A��X�B|��A��\H��$�dH3%(�XH�ĸ[]A\A]A^A_�����_���M��1�M��A�ډ\$����I�FL��I��1�L��M��L�$�L���D$0�|$4L�l�L�\$(A��0H�L$ D�D�</D�T$I�� )�D9�OD$L�D$A��A��4D��A)�9�DO�I��H��L�D���7�H�L$ L�\$(L�D$D�T$H�H�AJ�I�9iE�eE�}�d����M��L��I��H��9��5���A�N����@�
�f��W����H�I�~H�5���� H�I�~��p�����f.���AWAVI��AUATI��USH��H��L�H�1H��dH�%(H�D$x1�H�-��"I��L��H�E��8���)H�EI�t$I�UH���8A��A���JM��(M���A��<�A���A+F0L��E1�)$L�T$)D$C�<��~4K�tA�+F����H��1���+H�����~
��9�u�O�C�I��H��I��u�Hct$I�IL�l$HcD$L��H��H��H�
\��H�кdD�HD�@1��\�H�EH����H�M1�L��H��1���@�f�A�H�\$xdH3%(D��uMH�Ĉ[]A\A]A^A_�DL�����A��<�M��(����@H�EH�����1�������D��AWAVAUA��ATUH��SH��H��dH�%(H��$�1��B�����H�GH�T$I��H�1L�%}�"H�$H��H�D$I�$��8����H�$H�sH��H�PI�$��8A�ƅ��kA���!H�D$(����H�D$����M��(M��t
A��<tL�����A��<�M��(A���A+G0E1�L�T$ )D$H�$)D$H�D$H�$H�$G�LC�B�����E��~FK�T]�1��z��L�B)���$�dfDA�x��L��M�@)����	�΃�D9�u߉3I��H��I��u�D�L$D�D$A��09D$ �E����E����H�\$0H�
���b�I�$L�l$(H�sH��L��8��u#I�$I�UH�sH��8�������fDA�H��$�dH3%(D����H�Ĩ[]A\A]A^A_�fDH�Q�A�u�H��L�Ҫ��A����I�$H���뗐�3B�L(���td9�f)�9���fDC������A��49D$$|KE����E����1��D$����E1�D�D$�:D�
9�~uH�<$�P�B��DD�����E��xnE��y�D$E1�H�\$0H�
��d�H��1���I�$H���I�$1�H��H��1���@���)�;r�*���H�<$B������D$E���=���@�D$0H�\$0��D$��E1��D$����1����������@����tO��u��<��<�u0��H����<H���"H�=�H�H�����f.�����<��<�u��@U�SH��H��H�dH�%(H�D$1�L�T$ARAQA��H��APL�QH�sH�
��"��H�� ��u�ŋD$��t'�H����H�\$dH3%(��uH��[]Ð�H����������f�f.���AVI��H��AUA�ATA��UH��L��SH��H��H�IH�dH�%(H�D$1�L�L$I�������t(H�t$dH34%(D����H��[]A\A]A^�@H�� �T$�4$�E�H��thA����A��t(H�KA�T$�E1�H��A�H�����A���fDH��H�uL�KjL�H��H�
M"L�����A��XZ�[���H��"H��H�
E�H�5�L�
&�L�CH�L��L�j1�A��@Y^����f�H��H�uE1�j��l��f�f.���AWAVAUATLc�UH��H��SH��H��(H�IH�H�t$L�L$L�D$H��dH�%(H�D$1������H��HL�(A��~jA���JA�D$�L�{��H��H�D H�$f.�M�7L���5���
L��H�=N�H��
HN�H9������uM�oI��L9<$u�H�|$L����H����H�
}�"D�|$D�t$H����H�� D��D������H;Q�"I���L��H������I��H��t=I�>H�hH��t�\��M�.E1�H�KA�T$�A�L��H��������$t5D�H�T$dH3%(��H��([]A\A]A^A_���H���s��$��fDH���"J�T�E1�H�
�H�5�H�|$L�1�A��@��H���"�H��P(H��H�\�"H�����H�=�"���+���f.���H�H��t����f��Df.�AWAVI��AUATA�USH��I��H���H�-1�"L���dH�%(H��$�1�H�vH�EAPI�ȉ�H���"���ZY��ubL�=�W"A�ċC0��H�Sh���I;tsH��W"H;tgH���"E1�L��H�
K�H�5��A�L�1�A��@I�H�ChH��$�dH3%(D���H���[]A\A]A^A_��H���L9�tV��<L���1ɺL���H�5���������������U������o���H�EH�s@I��H�{��H�CXH�{L��H��D$dH�D$H�E��H�spI��H��t
H�EH�;��PH�EH���L�sp��H�{HH�D$XH�C`H�H�D$H�E�P�@H�{L��H��D$dH�D$H�E��H�sxI��H��t
H�EH�;��PH�CPL�sx�,�!L��H�{H�H�D$H�CXH��D$$�D$|H�D$H�EH�D$`��H���I��H��t
H�EH�;��PH�C`L��H�{L���H�H�D$H���H��D$dH�D$H�E��H���I��H��t
H�EH�;��PH���H�{HL���H��$�H���H��$�H�CPH��$�H�CXH��$�H�C`H��$�H�E�PH�{H��$�DŽ$�UH��$�����H���I���Y���@f��*���Y���,��������Df��*���Y���,�������D��������������������U������f.���AWI��AVAUATUH��SH������L�-0�"H��A��H��H�Q1�I�E��hH��H����I�EH�5��H��H�T$�� L�5��"�@I��P(H�T$H��H�PH�H�kH�H�;���H�CH�����H���H���H���H�Hǃ�H�CXH�CPH�C@H�CHH�C`H�CpH�CxHǃ�ǃ�Hǃ�Hǃ�H�C0�C8Hǃ�Hǃ�Hǃ�Hǃ�Hǃ�Hǃ�Hǃ�HǃHǃHǃH��0H�''ǃHǃ(H��PHǃX���H�
Ҥ��<�H���H�� H����&�H���H���H�H���H���H��Q"ǃ�H�H�C(ǃ�H�ChHǃ@ǃ8Hǃ`HǃhHǃpǃxHǃ�Hǃ�ǃ����������H���
��H�� ���I�EH�{H��H����"��0H�CH��H��L�3��H����H�pXI����E1�I�OH��H�C A�T$�H��������4H�SI��D$H��H�rX���P�D$H��[]A\A]A^A_�@I�EH�{���H���[]A\A]A^A_�fDH�y�"I�H��E1�H�
�H�5�L�1�A��@H���[]A\A]A^A_�f�H���[]A\A]A^A_�f�f.���H���tM��u0H�1�"H�wE1�L�H��H��H�L���H��x"A��DH��A�H������H���"H��E1�E1�H�wH��H�L���H�px"A��f.�����<�ƒ��<�t.H�o�"SH��H��H�=qH������<�[���������	��
�NH�w�Hc�H�>��DH�W�HLJP�Bx����X�B|����\�g�����<A��O�����<��ྃ�@��<�+���V(9�P~��P�F,9�T~��TV0F4����9�X}��X9�\}��\��<@�����DATUSH�H��tbH�-3�"H�w H�GH�H�EL��H��H�{H��A��H��� ��H�EH��[H�5�]A\H��0��D��H�-��"��Df.���AVAUATUSH��L��M"dH�%(H�D$1�D�d$HH���I;��L�EM"1�I;@��A��4$H��I��E1ۉT$��IcÃ����E����@��t	E9��nB���09�M��I��B+�t�39��j����H��(D��A9�E���IA�r��3A�L�t����6�V�I�FH��M�T1�@H��A�I9�u�Hc�H��I�AV��A�PH��I��I��u7�T$@���uzH�L$dH3%(��H��[]A\A]A^�f��3A����E����H��(�D��E���5���H��A�L�4�1��g����������Q���Q���Q�^�����E1��b���H��(H��A�����A�@�
���1�����1����\��f�f.���AVA��AUATI��UH��SH��H��L�)dH�%(H��$�1�L������H�=
�L��H��HN�H9����������A��tSI�T$�A�v�H��L���6��A��H��$�dH3%(D����H�Đ[]A\A]A^�f�I�L$I�T$H��H��L�L$L�D$����A�ą���A��fDH���H�=c�L��HN�H9�������A���B���I�L$I�T$H��H��L�L$L�D$�v��A�ą�u��T$H�� �t$����H��H��"H���H�5��H���P���fDH�E�����H�L$E1�E1�H�����jj���Y^�������D�L$�D$H�l$ H�
r�D�D$H��d�D)ȃ�P�D$D)���P1��j��XH�r�"H��ZH��1�H�1���@�V���f�H�I�"E1�L��H��H�
�H�5�A�L�1�A��@����H�5ɓH���P�������@f.���AWAVAUATUSH���dH�%(H��$�1���<�t��I�����<�u;���H��$�dH3%(�NH���[]A\A]A^A_�f.���H�t$pL��$���<H�GH�VM��H�� M���H�D$(���H�D$hH�D$H�D$H�D$lH�D$ H�D$E�|�(�D$E��u�D$pD�xA�E1�E��~YL��1�M��I��DH����M��L��I��$ �t$(���T$L�L$(�'���T$|T$x��A�]XZD9�u�L��M��I��A�F0A��I��I�� �CA�E�H�|$uUH�D$(��$�9�X�eH�~�"��$�H�|$(H����A��<p�L���������H�D$���f���L����<A���P���A�N0������4	A�Ox�)�)���uA�O|)�)���e����� �|E��PA���A9�}
A��PA��A��T9�~	A��T��E�OxA��XD��)�9�|
�J�A��XA�|A��\��)�9�|
�S�A��\D)�)�I�w(�A�J�D$<�L$ ���AD�l$ E���3E�G �L$ �T$<I�>�o��H�D$I;G(�(	H��I�VpI�>E1��D$(1�PD�L$LH�t$(���A[[I��(H����A���A�v0I�~H�\$�2H;_(��	��A+�TA+�P��$���$�H�D$�)A��8M��H��$�H��$�I��`I�� H�D$P����
�A�U�1�L���P�L�D�I��D��~=H�QH�:I�4��B�B�B�B�b �H��(H9�u�H��I9�u�M���J
A��0E1��A��A��4E��)�DI�A)�EI�9�N�9�N���A���Å�~]E��tXA�t�L��D�L$B�D�D�D$��$��C���$�DŽ$���$����D�L$D�D$A��0E��A�Ņ�~TE��tO�U��L��D�L$I��`D�D$�P$A��4A���@ �P(B�T"��P,���D�L$D�D$��~D��~@I��`�C���1�L��D�L$�B �j$�B(�B,D�D$�p��D�L$D�D$E��tKE��tFI��`A��0�L��A�t�P B�T��P$A��4A���P(B�T"��P,���A���A�v0I��(D���D$8E����H�1�"1�E1�H�QL�|$XE��I��H�D$(�#fDH�D$H�QI��D\�D9��;�t$8L��H��B�<H�D$�|$0A;�X‹D�D�A;�P|�D�IE��~�J��L�|$@1�M��H�D$1�H�AA��D�\$4�FfDB�T A�D�A;�T�AH�|$H�qH��H�4>H�4��~ @��u|��twH�IH���~H�D$PH�D$D��$�D�^)�D�L�L$<A��$�H�D$0A�D�E)�D+NI�L�jj+VRI�WHH�t$8A��I��(H�D$hH�� H�QH�|$H�:H�4�H�AJ� H��t`H�6H�D$HAD�JH�D�@�y����$�H���
�T$<�$�jjjH�|$8���I��(H�� H�AJ� jH��9Y�PI��E�,.I��E;�\�����H�AJ� ��fD;�\���������H��"H�D$(H��A���E�V8H�\$0I�V@D�	H�ARD)�E)�E�V0A��ARWL�����A��<H�� �@t2A�����~'L����I���I�O(L��A����H�''IdžXI��P����I��(D��wE��~DA�A�1�L���F�L�D�I��@��~H�GH�I��` �H��(H9�u�H��I9�u�A��01�D��A��A��4A��)�DI�A)�AI�D9�DN�9�N��A��~uE��~pA�A�H��$��t$L����$��F�H�Ή�$�H�D$pH��D�L$DŽ$�DŽ$�H�D$p�r��D�L$D�D$A��4A��0��~���;��~	E���)����A��<��P���@L�����A��<���A��<�$���f�M��D�\$4L�|$@����fDI�GH��D��H�x(jjj�T$P�R���f.�L�|$XA�����}H�l$PE1�@�yN�,�1ۅ��UDH��9Y~GH�qH��N�.I��H�H��t�H�0H��xu�H��H���/��I��(A��9Y�@I��D9!�H�|$P���S���H�L$pE1�L��A���A���jA�j���Y^��tS�D$p�t$tH��D��$�I�~)��$�I�������$�D�NH�?D)���PH�t$(D�$��D���XZIdž`1�L��譿��I�w(H9t$uA�|E�Ox�q���DA��TI�>E1�H��I�NpE1�PA��PP�D$0P�D$TPH�\$8H�����H�� H��I�>H�D$(H���hA�|E�OxI�w(����H��"H�D$(�r����H��A��PI�Vp�D$(I�>PD�L$LH�t$(E��T�۽��]A\����I�v@�L��A�P A���H��H�D$(L����H�D$pH��$�E���M���A��tA��0A��4�t$pH�Ή�$�B�T"���$�A���׉T$tH�‰�$��|���$�L���+�������$���$��i���A��tA�p�L��D�L$H��$���$�ЉT$pH�Ή�$�B�D ���$�H�D$pH��H�D$H�L$DŽ$��D$t���H�L$D�L$A��0��H�D$��E���K���A���A��L��H�D$A��4D��$��T$t�H��H�L$��$��t���$�H��DŽ$��D$p�'��H�L$H�D$���A���H��$�A��L��H��D��$�‰D$tH�D$p��$��T���$�H��DŽ$��D$pH�D$H�L$������t����A���AF0�D$8�W���H���"A��H�D$(�P���M���#����A�y������f���AWAVAUATUSH��(dH�%(H�D$1�H��(��H��A��H��E1�L�~I��SjL��E��j�3A�H������ZY��t_�$9�P~��PA��D$9�X}��XA��D$9�T~��TA��D$9�\}��\A�H��I9��q���E��u)H�D$dH3%(u(H��([]A\A]A^A_�f.��H��������ܺ��f�f.���AWAVI��AUATI��UH��M��$�SH��H�Y��T$H��dH�%(H��$�1�����H�=5{H��H��HN�H9���€���t7H��	�	H��HN�H�=l�I��$�M��$�H9������LD�L�}L��莹��A�H�=��L��H��L��HN�H9��A��A��E��E���9H��L��H�=��L��HN�H9�����������|$��I�D$H��L�
ăH�PXH�ۭ"L�j1�I��H�
؄L��H�5�A��@XZA�H��$�dH3%(D����H�Ĩ[]A\A]A^A_�DH���H�=\�L��HN�H9��A��A��E��E�����|$��A�UA�E��!�����~����D$ �����D$(�����T$$�D$,I�E����H�t$ �L���m���E1��D���DH�\$0E�ME�E1�H�
���d�H��D�T$����H��L��H���"H���PD�T$���fDI�D$H��L�
s�H�PXH�}�"L�j���H�i�"E1�L��L��L�K�H�
^�L�H�5X�1�A��@A����@H�MH�UL�L$L��L�D$L���C���A�…��Q���A�M�D$A�u�T$9�t$�D$ �T$(�L$$�t$,A�EA�U�����9�u�����肷��f���AWAVI��AUATUSH��X�t$ dH�<%(H�|$H1���u#H�D$HdH3%(�/H��X[]A\A]A^A_�H�t$@A��I�� H�VMc��5���K��B�t�@H�D$��09�|�I�VE��J|DJxA�V0A���)щL$$��������L��H�l$8H�\$<E1�H��H�l$D��M��I���M��I�݉�H�$��B9l�@~DH��I�� ��D��AUL�L$L����L�D$����)�H�D$(+\$L+\$HAY��0AZ9���\$$M��M��D�D$$E������L��H��I���H�<$I�<��tH�|$(�|$ ��L$����H�D$8D�d$M��H�D$H�D$<I����D$�\$$1�A��B9D�@�iL��M��I���D�BA����F9d�@�hH��I�� D��L��AVL�L$L�D$�T$ �"���)�+\$LY^+\$8u�L����M��I��l$�l$ �q���H�L$H�|$(�D$+�0��t����H�T$8L�l$<D�d$L�|$H�T$L��M��I����|$D�g�D�d$A9����\$$1��f���A����D9���H��I�� D��L��AVL�L$L�D$�T$ �T���)�+\$LXA��0Z+\$8u���)l$�D$ u��L$H�T$()���t����L��M��I�Ņ����������D��u$�L$�L$�f.�L��M��I������f�)l$뒋|$�|$������f.���AWAVI��AUI��ATUSH��dH�%(H��$�1�H�A��8x������]��tA��I��H�1H�T$�D$���L���D$H�ѧ"H���8�����D$H�U��H��A�D��yH��1�H��A�D-H��L닓p9�}��t�D$A9�tu1��L$A9��tA��<0�L���ͻ��1�H��$�dH3%(�	H�Ę[]A\A]A^A_�f�H��"L��H����H�|$I�T$�H�$�"H��A�wL�D$L��H���p�ƒ��������*����q���H�E��H��A�D������H��H���p��� H��f���p��/��*�t�\��Y�f���*��^��X�H�\$ �d��H�
pH������1�H��L��H��"H�1���@1�������C���H���
�o�T$H���A��f/�����f�H��H��Lꋂp���*��Y��,���t���D��H��H��H��H��A��x�D$L��t��t����fD�
hof�������t$��L���b������D�\��^��U������fD��SH��H�?H��t����H��"H��[H�H�@0�����ATH��UH��H��SH��H��H�IdH�%(H�T$1�H�L�L$I���ߵ����tH�T$dH3%(��uPH��[]A\�H�� �T$�Ë4$�K���I��H��tȋ4$H�� �T$耶��L���8����H���˸�������@��ATUH��SH��`H�� dH�%(H�D$X1�H��t[I��L��躲����u@H�\$0�H��L���5�����u�H�����H�|$0辬��H���f�����t�L�������t�H�� 躱��H�upH�ף"H��t
H�H�}��PH�uxH��t
H�H�}��PH���H��t
H�H�}��PH���H��t
H�H�}��PH��(H��t�d���H��臯���� L�%*�"��tI�$H�=�~1��R H�1�H�UH��H�=�U"��`I�$H��P0H�D$XdH3%(u	H��`[]A\�蕮��DATA����UH�-��"SH�E�P(�H��D�`XH�@xH��H�@`H�H�ChH�E�Cp���H��[]A\�AUATUHc�H��S�H��(L�-T�"dH�%(H�D$1�I��I�EL���H��t)H��H�@L��H��D�9�L�I�E��H��u�H�T$dH3%(��uH��([]A\A]�褭��@��U��SH��H�-ʡ"H�E�P(�H��H�EH����H�EH�{X����H��Hǃ�����H��[]�fD��AWAVI��AUL�-~ATE1�USH��8H�Z�"H�|$H�l$dH�%(H�D$(1�H�H��L�����H��tV@L�xA�G,��~ E�GXD��L��H�>+"H�81��,���H�L����xH�L���P0H�H��H��u�I��XA��uLL�t$H�L����xH�I�~X��xH�L���P0H�D$(dH3%(u H��8[]A\A]A^A_�fDA��5����0�����AT��U��SH���W@H��tOL�`��H�{X���H��t:H�@A�L$,9H,|H��L��A�T$@H��t[H�@]A\�DL��H��P@H��u�[1�]A\���AWA��AVAUATI��UH��S1�H��HH�<$L�l$L�t$ dH�%(H�D$81��t$�T$D��L��H��UH�L$��uiH�@I�^H��H��XH��tD�|��@H�\$ H�l$(L��H��H��SH�T$��ujH�@H�L$8dH3%(u|H��H[]A\A]A^A_��D��H�D$�c���H�T$I�^H�BH�$D9���s���D����f����L�`L��H��H��I�D$�UHL�`I�D$L���t���蕪��D����AVAUA��ATI��USH���W@H��tyH�hD��H�{X���H��tcH�XH��H��U@H��H��I��S@H��L��H	�t?H�-p�"L�MM��t?H��t:L��A��pH�EH���p[�]A\A]A^�D[1�]A\A]A^�DI��L��D��D��1�H�=�zA�Q [�]A\A]A^Ð��AWAVAUATUSH��HH�|$��L�$)׃�dH�%(H�D$81����>L�=��"Hc�A����L$I��P(�L$H��H�D$D9��WH��H�\$(H�CH�\$L�$ÍAD��D$M���%f�H�PH��H��H�U�I���p�C;D$t%�É�L��A�V@H��u�H�E�CH��;D$u�H�|$(L�4$D��D��H��I��H�GH�D$ �
���A�H�L$D)�H�L��I�9L�$t(H�D$H�L$ ��L��H�T$4�T�HL�$I�H�P�jX��EI��9�u�I�H�|$�$�P0H�D$H�|$(H�����9D$}(1�H�|$8dH3<%(uMH��H[]A\A]A^A_���$��9�tΉ�����f�Hc�D��H�D$(�A�D$�y������@��AW��M��AVAUM��ATI��USHc�H��H�CH��H��H��H��P@H��t>L�pA�F`����������tHA���uA�F,��tL�����?����	DA�GA�WH�|$@A�UA�W�H��[]A\A]A^A_�f�A�N,��txL�������A�VlH�|$@A�UA�Vp�H��[]A\A]A^A_�@f�A�Vl�A*����AYFxH�\$@A�UA�Vp�H��[]�,�A\A]A^A_�fDA�Fd�f�A�G�f.���AWI��L�=�wAVL�5�wAUI��ATI��US1�H��8dH�%(H�D$(1�H�$H�L$L�D$L�L$Hc�M��tE�L��L��H�l���€���u>I��$ H��,���EA���09�|X��y�EH��tOL�T$���L��L����€���uQI��$ H��,�����EA���09�}��U��롐1�H�t$(dH34%(uBH��8[]A\A]A^A_��H�љ"H��L��L��H���8��u�E�S������g������AWHc�AVAUATL�$�UH��SH��8H�<$L�t$pH�T$$H�t$D��L�|$xD�L$I��H��$�dH�%(H�D$(1�I�H�AH�D�H��PH�t$$��uZH�@H��L��L�@`M��S�T$$H�t$H�|$��ZYH��t�T$$	H�|$(dH3<%(uEH��8[]A\A]A^A_��D��H�D$L���H�T$H�BD9��}�D����|����]���f.���AWI��AVI��AUATUSH��H�W,dH�%(H�D$81�H�H�D$0��ts�����tiH�\$0H�-<�"I��L�d$H�CH�D$H�EL��L���H��t(fDH�@�@X;|���H�EL��H��u�I��XH��H9\$u�M��t�D$0A�M��t�D$4A�H�D$8dH3%(uH��H[]A\A]A^A_��c�����H���"SH��H��H����H�C H��tH�P1�H�[�1ҸH�[�@��H�U�"SH��H��H���H�C H��tH�P1�H�[�1ҸH�[�@��H��"SH��H��H�?H����H�C H��tH�P1�H�[�D1ҸH�[�f�f.���H�Ŗ"SH��H��H���H�C H��tH�P1�H�[�1ҸH�[�@��USH��H��"H�/H�H�}��pH�H�}H��pH��[]��f���AWAVAUATUSH��XH�|$(dH�%(H�D$H1���H�E��AI�Lc�D$D9�}D��Lcd$�D$Hc�L�l$0H��H�HH��1�����H�L$E1�H��H�L$H�H�PH��H�D$ �I��D;d$��H�D$L��H�|$�P@I��H��t�H���"H�hL��H�|$ H����H��tS�H�@H��H��P@H��t(H�xH��tH�$A��&���H�$H�H���pH�L��H��u�H�L��I����pH�H��xH�H��P0D;d$�D���E��tH�|$(��a���H�D$HdH3%(uH��X[]A\A]A^A_��}���f.���AWAVAUATUSH��8dH�%(H�D$(1�E����E��E1Ʌ�I��AH�E��I��Hc�EIȉ�E��D9�~D��A�ω�D���G�'E���A�GA9�L�։�M�L��L�T$�š���C�L�T$�D$�����D$D;|$tmH�D�H�DEI��H�D$$H�D$H���D��H��U@H��t1H�ӓ"L�pG�,<H��H�E�nX��pD��H�T$H��UHL�pD|$D9|$u�H�D$(dH3%(��H��8[]A\A]A^A_�f.�E���ى�L��A)�L��L�T$A��A9�AN�D�,��E�E����E9��C�L%D��L�T$G�'E������C�D9�L�։�DN�L��L�T$覠��A�GL�T$A�߉D$�D$����褞��@SH��`L�\$H�\$A�1L�T$ �A�E��@0��t?��t)��t[�f.���tA)��t)[�D��tA)��t)���A)���A)[�AUATUSH�l$(H�\$0L�l$8L�d$@E��x=H�GE1�L�P1��f�EA9�t��I��A9�|9�u�D�]EA9�u�A��E�]E��x6H�W1�1�H����:A9�t��H��A9�|9�u�;:A9�u��A�<$H��PU�PAU�P�@A$[]A\A]�fDAW��AVAUATI��USH���L$H��$�H�t$D��$�H�T$ D��$�D�D$D�L$HH�L$@dH�%(H�L$x1�D9���HcD$�L$HHcT$I��H�D$XL�4�H�D$t��H��H�D$(H�D$p�L$LH��H�D$0H�D$lH�L$PH�D$8�D9|$�EH�D$hH�l$P�\$I��$(H�D$�U�H�WJ�2H�H��@ u)D9l$��D9l$H��9\$�dA9��3��H��(A9���E��t�D�T$A�ى�E��t$(I��$`D��t$8�t$H�t$ ����H�5R�"I��$(H��D�D$t�L$pH�RD�L$xL�I��$`J�2I�|$�D* H�T$ HET$(jA)Ƀ�j��$�A��D)ƃ�VH�0A��I��$(D�T$$H�WH�� J�2�L* H��(A9��4����A��I��D;l$L�������$�����H�D$xdH3%(�H�Ĉ[]A\A]A^A_��H�D$@�H9J}��JA��I��D;l$L�=����H�D$@�H9J������J����H�D$@�H9J�a����J�Y����H�D$@�9J�7����J�/���H�T$tI��$(I��$`E��RH�T$xRH�T$|RH��$�RD�t$h�l$0�\$4E��������H�� D9�uPD9�uKI��$(H�L$XH�@H��H�L$P�D t*��$�����$��E�$���$�H�A�"D�D$lH���L$p�T$xL���$�I��$`)�I�|$P��$�D�JH�6P��$�D)���PH�T$8A���H�� �N�����$����?���H�T$tI��$(I��$`E��RH�T$xRH�T$|RH��$�RD�D$h�L$0�T$4�
���H�� �D���DŽ$��4�������Df.�AWAVAUATUH��SH��L�|$P���YL�5�"I��L��M��H�t$L��I�0H��I��L$��8���I�H�SI�t$H��8����I�H�SI�t$H��8����I�H�SI�t$H��8����H���"L��I��H��L$H��M�D$ H�j��I�u���ZY���~��K9�~��S�ʋK�s9���H�|$H��q$9���D�C�y A9���D�SD�I,E9�xD�[�I(A9�|l9�~�;D9�}�sA9�}�KE9�}D�K��H��[]A\A]A^A_�@H��I�P�qH��[L��h]�A\A]A^A_�Ϛ����붐�s�K�E���DAVI��AUI��H��ATUI���SH�� dH�%(H�D$1�H�u�"H��H��PH��L� 詚��H��H���.���H�D$H��u�2f�H��H���ŕ��H�D$H��tL;`u�A��8�P��>@H��"�(H��P(A��8H��L�pH�ƉP1��@L�`����1�H�L$dH3%(u
H�� []A\A]A^��T���@��AVH��I�ȉ�AUH��ATUH��SH��J"H��`H��pdH�<%(H�|$h1�L�l$H��H�}H�D$M��H�D$ H�D$(H�D$0H�D$8H�D$@H�D$H�D$PS���Y^�����T$8�L$�t$��u���D$<)��D$8�D$@D�D$�T$���LH��H��H�D$PH�D$PH�D$ PL�L$ ���D�t$ �t$$H�� D9����T$8�L$L�d$P��\$9�{�D$@@E�L��T��D$0A��A9�H��D$PDO�H���D$\�D$`�D$d9�AT�t$XO�D��V�t$LVPRH�T$XH�t$P�e����D$p�T$t�L$<H��0�t$�ӋT$89�}��D$<�A�A9��k���H�t$ H���F�����u	H�D$ H�t$(H���,�����tXH�Ɉ"1�H�UL��H�=�H"H���`1�H�|$hdH3<%(u<H��p[]A\A]A^�D���D$D)Ѓ��D$@���H�D$(띃��i�������D��AWI�ȉ�H��AVAUATUH��SH��D"H���dH�%(H��$�1�H��`H�|$`H�D$`H�|$0H��I��H��H�D$pH�}H�D$xHDŽ$�HDŽ$�HDŽ$�HDŽ$�HDŽ$�DŽ$�H�D$ S�*���ZY���H���"H�t$p�H�}H�D$8H��P H��H��H�D$H�D$dPH�D$dPH�D$pP��$�D��$���$���$�L�L$p���$�HDŽ$�HDŽ$�H�� ��w�H�ਃ���A������A�������$���$��\$P�T$T9��`H�|$L��$��D$\L��$�H�|$ H�|$DH�|$(fDD�|$XA9��H�|$H��$�H�<$H�|$@H�|$�1fD��$���$���$��T$T�ANjD$\D9���D�\3�B�L9�E��H��A9�AN�9�N�H����ATA�Ջ�$�E��A��RjjPH��$�H��$���H��0��$����s����t$ H��(D����t$0E��E��t$�t$ H�t$8���$�H�� ��w�H�ਃ���A������A�������������L$DH��H��`�T$TH�}H�0A��RD�D$XH�T$ �f���XZ���������V�����$���$��C�����$���$��A���w�����D�L$@H��H��`�T$TH�}H�0A��RD�D$XH�T$ ����$�^_�F���DD�D$LH��`H��H�}APH�0�L$PD�L$TH�T$ 贘����$�AXAY���@��$���9�����H�t$pH�������u	H�D$pH��$�H�������uHDŽ$�H�t$xH���f�����u	H�D$xH�D$81�H�UH�=7@"H�t$0H���`1�H��$�dH3%(��H���[]A\A]A^A_�fDD�D$HH��`H��H�}APH�0�L$PD�L$TH�T$ 輗����$�AZA[�����u�H�h�"H�D$8�	�����$���$��A����e����7����Ҏ��f���H��`t"L�I�D�BH��H��H�5�>"H�=6?"�Q����H��H�Ղ"H��1�H�A`H�5j`L�1�A��@�H���f�f.���AVI��AUA��ATM���USH�� dH�%(H�D$1�H��H���ؑ��H��L���]���H�\$H��u<�y�H�q�"H�{H��� H�5�"H��H��P0H��L���ь��H�\$H��t?E��uA��89C}�H��L���K����{u�H��"H�{ H���0��H�D$dH3%(u
H�� []A\A]A^��v���fD��AWAVI��AUI��ATUSH��H��H��hL�%��"H�1�$H�T$dH�%(H��$X1�H�A�D�8A��c@��@�ʼnD$I�$��8���`I�>�h���I�$H��H�D$���H�D$I��H�=�BH��H��HN�H9������tYM�$1�E1�H�
)_H�5�DH��A��@�H��$XdH3%(��H��h[]A\A]A^A_�f.�L�d$ M�N�M�F�1�H�
�^�,�L���h����$H��@��H�D$$H��I�NL��P��M��M��-�H���6���Y^��u8HcL$H��H��Lꋲ���������������D�T$���)����L��$�l����$����@H�l$ M�N�M�F�1�H�
�]�,�H��訔��H��M�VL��H�D$$I�� H��PUAR�D$ D�D$8�L$$D�H��T���H�� �s������g����H�QhH��f�H��H���A*D�H���AYD
�,�A��5��*���f�ǂ�A��cuH��[I����H�q]I����車���f.���L�I�D�BH��H��H�5'B"H�=�B"�;���f.����1��f���AWA��AVAUATI��USH��hH�t$dH�%(H�D$X1��B�����H�A�H�-l~"I���H�M<a���D$A�<ct
E1�<sA��A��� D�L$�Q(L�|$I�4$D�pH��L�pH�EL��L����8���
H�EL��H�SI�t$��8D�L$��A����A�����CI����C�C�CH��"H�H9��\H����H�KH�_"H9�N�S�C9�~�S�C�t$���JI��D�C�{�s�P�KA9�ANЉT$@�P9�M׉T$D�P9�N։T$H�P9�MщT$L1҉xL��pH�t$@D�@�H耑��H�EH��P0A��< �@H�EH��A��P0H�L$XdH3%(D���mH��h[]A\A]A^A_�f����D$E1����l���1�H�5[H�|$1���@A��f�H�|$H�Q�A�q�L�8T蒋��A���r���f.�H�"H9����H����H�C���D�C�P�����I��1�H���h���1�L��L���k�����fDH�EH�SI�t$H�|$��8��t7I�t$�H�=�XH�E��€��������H�|$����C���H�EH�SI�t$H�|$��8����H��"I���H;������K�S9�������K�S���D�K�����S��u~�{���uu�{���ulL�d$ L��臊��I��L��H��H�D$����H�D$(H��t8H�|$L��H�D$�4���H�D$H�UH��R0H�|$L���x���H�D$(H��uȋC����������f.�I�t$�H�=zWH�E��€��������H�|$����C����������Df.���L�I�D�BH��H��H�5>"H�=�>"雋��f.����AUATUSH��(��w"dH�%(H�D$1���upH�?H�.H��H	�t:H���aH���h��x"��uNH��趇���Ë�w"��u
���H�L$dH3%(���qH��([]A\A]��1���@L�%yy"I�$���,����H��D�-Qw"H�=Bw"���I�$H��H�=.w"���I�$H�5w"H�=�w"��D��H�=w"��v"I�$�����v"I�$����H�=�w"���H�t$1�H��H���5�����H�D$H9�t	�8�����I�$H�=�w"���I�$1�1�H�5�WH�=iw"��@�Yv"����@����fD��������fDH�5iWH�="w"�� ����H��H�T$H�=w"��8����I�$H�T$H��H�=�v"��8������D$9D$�+������������f�H��H�T$H�=�v"�� ��uwI�$H�T$H��H�=�v"�� ��uZ�D$�L$�f/�����1�f/��������I�$H�5
VH�=6v"�� �&u"����I�$H�5VH�=v"�� ��t"�y������@��H��H�� �܈��H��tH�H��@��t!��t1�H���DH�B`H����H�B8H���Df.���AWAVAUATUSH��9���H��v"I���ω�)�A����E��H��������P(H�D$I���!D��D��L����p���I��I�G�9�t%A�_E��tۉ�D��L����K���I��I�G�9�u�H�D$H��[]A\A]A^A_�H�D$��f.���H��u"H��H�H�@0��f���AWAVAUATUSH��H��8dH�%(H�D$(1�H�=�t"tIH��u"1�H�5	UH��H���P�H�\$(dH3%(�LH��8[]A\A]A^A_�DL�1H��Lc�I��L��脀���H�='NL��H��HN�H9���€����ZH���H�=�[L��HN�H9������t5H��t"E1�L��H��H�
	UH�5UL�1�A��@��A����I�UE1�1�L�D$H��H���������I�UE1�L�D$1�H��H��A�����D$����H�t$ H�� H�V�O����L$�T$9���HcD$;L� ��9���A���.B���0H��r"��r"��q"��q"�D$A���?A�D$�M�} H�D$��L�%0TH��M�l0�=DI��H�=TH��������W�ur"I��M9���M�w�L����~���L��L��H��HN�H9��������t�H���L��HN�H�=�SH9���������I��H�=�SH��������w��p"�k����H�	s"K�T�E1�H�
64H�594H��L�1�A��@@��F���fDI�ME1�1�L�L$H��H�������u�I�ML�L$E1�1�H��H���ʃ��Lc�E��u��D$����DHcD$�T$�L$;T� �!���1�����f��H�=�RH����������q"���H���L��HN�H�=�RH9�����������L$I�����H��L�L$E1�1�H��H���������*�����o"�H��p"�(�����H�=$RH����������\o"�����H�=�QH���������� p"���H��	�	L��HN�H�=�QH9����������o"I�H�D$�c���E1�L�D$1�������=�o"u3L�%�p"H�=�n"I�$���I�$�����H�t$H�=�n"���D�d$D�l$H��D�D$�t$D��D���|��I��H����E)�H�
m����H��E�|$Ic��xz��E��~BI��M�nH�\$K�D&L��L�%V`I��@�L��1�H��蛁��I9�u�H�\$H�� �L$M��T$�t$�&�����tc�H��腄��D��L��H��������m"��uH��o"H��H�����=�n"uH��o"H�=�m"H������m"�����<�H�������H��o"E1�H�
POH�5PL�H��1�A��@���H�fo"E1�H�
�NH�5�OL���H�Io"E1�H�
/OL��H�5EFL����z��f.����AWAVI��AUI��ATI��UL��SH��(dH�%(H�D$1�H�t$�8y��H�\$�D$L9���H�+@��t$�V���H���H��H�\$H�+@��t�Dh u�H�=%UH���A��A��E��E��u>H�CH�D$�k@������H��H���H�\$H���k�@��t^�Dh u�H�@n"E1�L��L��H�
]H�5�NA�L�1�A��@H�T$dH3%(D��u-H��([]A\A]A^A_�Df�f/D$w��T$�A��y��f���AWAVAUATUH��SH��xH��$�L�D$H�D$ dH�%(H�D$h1����1���H�D$I���x�p�P��<$�x�t$(�|$,�x�T$�|$���6�B�L�a��H��L�l�f�I�$�H�=�MH����À��ۅ����H��H�=l.������,H�
m"H�L$4I�vH��H���P��� �D$4��$@I��M9���M�|$�L����w���H�5�ML��H��HN�H9�������E����H�5jML��������?H�L$4I�vI�$H��H�hl"H���P���N�D$4I���D$M9��o���H�|$ tYH�|$��4$�9wu1�9���H�T$�d$f.bzt�H�t$��|$9~�|$(E�9~E�H�T$ �H�D$�T$�\$��$�P�X�\$,�X�X�\$(�X1��9�H�yk"Hc�E1�H�5LLH�T�H�
0ZL�1�A��@�H�T$hdH3%(��H��x[]A\A]A^A_�@�$�d���@�H�5LL���������H�L$4I�vI�$H��H�k"H���P�����D$4�D$(�
���D�$�����H��j"H��H����I�4$H�T$8H���Dz�������L$8��L$���fDH�Yj"1�H�5
KH���@H�D$����g��������OH�D$L�d$@�(H�
�J�L���h�f(��,$��~��H�1�L��H��1���@H�1�H�5�JH��1���@L�t$L��1�H�
�?�(�E�F�~��H�1�L��H��1���@H�1�H��H�5QJ1���@E�FL��1�H�
7?�(��B~��H�1�1�L��H��@1�������u\H�1�H�5�IH��1�L�d$@��@�5���H�i"E1�L��H��H�
JH�5�<L�1�A��@�����H�1�H�55*H��1�L�d$@��@�����H�D$L�d$@�(H�
h>�L��D�@1��o}������5t��D��H��h"I��L�E1�H�wH��H��1"L��H�H�����Df.���H�GH��t#H�Dh"H�GH��H�H�����D�Df.����+��H��P+w8����t+����x~9p\4H��H�Q8H��tD�����H�R H��u�H9��HE��1�H�@0H���{|�����u�H\�9�|9�|��H�@(H��u��R|��f�PX9�~��H��t.H�@0H��t%���u�#����t
H�@(H��u���H���N���Ðf.����t
������F@��t;ATI��UH��SH�^0�F@H��tH��H��L�����H�[(H��u�[]A\�D����AVI��AUA��ATI��UH�-�f"SH��H�E��XM��E��L��H��H�5T+"H�=�9"��w��H��A��H�E���[D��]A\A]A^�f�f.�AWI��AVI��AUATI��UH��SH��dH�%(H�D$1�M���mL���Eq��I��H����H��e"��H��P(H��M��tH�T$H���L����@H�XM��tA�D$D����>H���ǃ�H���H���H���Hǃ�ǃ�M����L����u��H�CHM����L����u��H�CPH�*�!H����H�[H�H�kL�cH�C H�C(H�C0H�C8H�C@L�hHǃ�H�CX����H�S`H�ChH�CpM��tI�EH�L$dH3%(H��udH��[]A\A]A^A_ÐE1�����H�CP�:���H�CH����H��H���s��H������f�1���o���AWAVI��AUATI��USH���T$���u
��x�A��$��M��PA���M9��I��$��D$A�D$XL�jA��$�M����I�EE�M�x��A�FDD�ˉ����I�E0E��A�����E�A��E��D�A�E���U���E��A�ڃ�w�H��D����uD)�E)ύC�E�W��"�D$A�~DB ��D$A�D$XI�\$0A�D$\H��t����tpH�[(H��u�H��[]A\A]A^A_��A�D$XADŽ$����$I��$��O�H��H�B H�T�H�H��(H9�u��u���@�u
A��xt�T$H��L���C���A�����~<��I��$�H���H��H�4�H� D�9}�H��(H9�u�C\AD$\������C�A��A��X��tM;\$�E�N�A�D$tA�L$pE�D$xE�T$|��yA�D$p1Ʌ�yA�D$t1�E��yA�D$xE1�A�^<�E��A�L$p��AO�A�L$tB�A�L$x�A�D$|���N���E1�1��Q�L����s��A�uI��$��J�:A]A9\$X}A�\$X�q ��I��(A;�������N�l:A�^<�M��u�J�:�����A�vDA�����E��D�Љ���������I�}PtQA�EXA�]\�����D9��9���D��)؉����˃���� ���AvD���A�D�E��`���1��~���I�}8���A�E@A�]D�����D9�����뢐��x�u5H�W��t(��H����xH�E`"H�=~-H�H�����f��Df.����>t�fDH��ht��@H��_"H����x�H�=(-H�H�����f�f.�H��t[ATI��UH��SH�������<uH��_"H�sHH��H���8H�S0H��tL��H�����H�[(H��u�[1�]A\�D1��f.�H�F����p@�V�P@��7���u.H�H9�u�%@���uH9�tH�@�x@�W�P@��~���@f.��F@���F@��g���u^H�?H9�tVH�F�p@�V���P@��������u5H9�t0@H�@�p@����V���P@�ƒ�	ʃ�H9�����u�Ðf.�AWE��A��AVI��AUATI��USH��XH���D���H�t$D�L$H�D$ E��tD���I�|$�G|�wx�D$�t$8M9�$P�4A�NXE�,
D9�~	E9��6EVtA�FpD�T$(E��$XD�A�T$DE����A�A9�ANljD$I�^8H��u�@H�[ H�������u�D$I�n0E��ЉD$0H���`D�|$<D��E��A����u*D�}|E�D9l$~�E\D�D9���H9��SDm\H�m(H��u�A��$XE�Յ��I�^0H����M��M��D�d$�f�A��H�[(H�������u�k\D�A9��E9�~�H���H��t�D�FD�|$M9�P�mD����D��A)�D9|$8|�D�N�K|D��D��D��)�D��D�x�A9��x���A�	A��D9��k���H��x��L�T$H��D��A��D�\$jjjH�|$0�k��H�� D�\$L�T$�'���@H��X[]A\A]A^A_ÐI��$PI9~�.���E�<W�(���DA��$��������M;�$P������D$0E9�������z����t$89t$�l����D$(A�D�T$DD�\$@I�<$��DI�H���D$D9�DN�AW�L$H�T$0H�t$ A����o��ZYD�T$DD�\$@����f��}xD�L$E��H��L$<H�t$D�T$D�|$HL��D�\$@���D�\$@D�T$DE��$�E������M9�$P�����E9�D9|$��H9�������
���@E���D$(�D$���A���A��$�������A��$��t$H���x�D$�D$L�D$0M;�$X���D$<M;�$h�4A��$�D�l$1ۅ���D�|$DE��D�\$@D�T$�zf�E1�A����t$0�H��VH��RD��Q�L$,H�|$0H�D$H�`i��H�� E��t H�D$(1ҾH�x8H�Z"H����I��$�H��D|( A9�$��8H�,�I���H��H�D(H��t�H��z��I��$�E�NXD�D* A�T$<H���C���H��H�Ƌ|$DWRR�L$,D��H�|$0�h��H�� �t���A�FDA��A��A�A�E~8E��E+���k����L$A���D$0U�L$LI���A�t$<H�I�I�q�L$H���f����Y���f�A��$�H��H�D$(I��$���g��H�D$(E�NXH�P8D��I��$�A��D�D* A�T$<A��H���`����t$<���b���f�D�\$@D�|$DD�T$E�nXM;�$X�E��a���H��E��AW�|$X�D$L�L$H�T$0H�t$ D�I�<$�l��_AXD�T$DD�\$@����H�JX"D�\$(H��E��I�T$PH�jA�t$<VQH�t$0D�L$h�L$8D�T$,��H�� D�T$A���D�\$(��<����P<��t$<���PM;�$X�D$0���D$�D$L�!����D$0��"A��$x�������L$0"�D$<���A��$x���A��$�������A�t$<�L$LD�\$(H��I�D$I��$��<6E�2�A)�AUD�L$XH�t$ A)�H�8D�T$��d��D�T$E�nXA[[E�D�\$(���A���I���L�T$0D�\$(�L$ D�L$D�D$��e��H���D�D$D�L$�L$ H�F8D�\$(L�T$0���$���L�T$H��D��D�\$jjjH�|$0�e��H�� 1ҾH���H�x8H�yV"H����D�\$L�T$�,���A�FXD�\$(H��E��I�|$I��$���P�D$X�L$\H�t$ H�?D�H�D�T$��_��XZD�T$D�\$(�|����D$�L$0 �L$< �D$L�W����D$0�F���f�ATI��USH��H��pdH�%(H�D$h1���t.9�|*f��f�f��D��*��A*��*��^��^��@�
pf�H��d��H�
|6H���3j��H�;1�1�H��L���i����t(H�-&U"H�;H�59H�E�� H�EH�;��pH�D$hdH3%(u	H��p[]A\��`���U��SH��H��H�G�W8D����<�Hx���)��4���)�E��x9��1E1��@|D���)�)����t+��������9�|����1����H��xH��t	H�{���H��pH��t8H�K�C8���D����I|�)�����)������upH�{�G���H���H��tK��tFH�-�S"H�{H�E�����t-H�EH�{H�5�7�� H�EH�{H��pH��[]��H��[]�f�+����D�A��A)�D9�AL�����f.�F�A��A)�D9�EL����f.���ATUS��xH���ƒ��x�����t�@��H��P����%��x�������1���~~D�P�L���1�1�L���I��1��A�I A| H��(L9�tNH��A�L M����u�L���H���M�$�L E�d$ D9�}���t�E�a A| H��(L9�u�fD�S0��x�F\����~	��\��S4����~	��`�ʋ��S8����ʉ�������t��H�:R"H�{H����H�߾����H��[]A\�|�@��X��t�SDH����H��P�����1�H����H��P���f.��Kd���u���fD��AVAUATUH��SH��H��pdH�%(H�D$h1����aH�WL�%VQ"�Bx�J|���S8�)�)ЉL$�ʋ���D$��������������9���f��f�f����*ы���*ȋ���*��^��^…���9���f��f��f����*��*��*��^��^�H�\$�P��H�
�&H���ze��I�$1�1�H��H��@1�H�|$hdH3<%(��H��p[]A\A]A^����+���T$������������f��
(������;����f���T����L�%�O"I��H�1H��L�t$I�$L��8��u*I�$I�VI�uH��8��u�D$�L$�d���@��2����a[���AVI��AUATI��US�����SM9�$X�lM9�$`�xM9�$h��A��$�1�M��$����Q��;_��H��A9�$�~=H�,�I���H��H�|(H��t�H��xu�H��L���Y��I���H�|(�f�I���H��tH��x�7��^��I���I���H��N"H9�tH��P0I�vHH����I��$�A��$8H��tH�H���pH�I�~PH�@0H��t	��H�H�@0I�~HH��t	��H�H�@0I�~hH��t	��H�H�@0[L��]A\A]A^��f.���H��P���H�v��M9�$X�����IDŽ$XM9�$`�����IDŽ$`M9�$h�|���IDŽ$h�k���@H�I�~PH�@0H���8����N����I��$�H��H���-X��I�������AVI��AUI��ATUSH�H��t*H��H�S8H�s0H������L�c(H��H�����L��M��u�[]I�EA\A]I�A^��UH�V8H��SH��H��0H�����H�CH;X0t-H�S H�K(H�J(H;X8t-H�C(H�P H��H��H��[]�2���f�H�S(H�P0H�S H;X8u�H�P8�����ATUSH��PH��H��tH�V8H��0����H��PH������H�sxH�-�L"H��t
H�EH�;��PH���H��t
H�EH�;��PH���H��t
H�EH�;��PH���H��t
H�EH�;��PH���H��t
H�EH�;��PH���H��t
H�EH�;��PH���L�%�K"H��tI�$�P0H���H��tI�$�P0H��pH��tI�$�P0HǃpH�{H���^�������tI�$H�=�/1��R H��htHǃhI�$H�����xH�EH�H��H�=�"1��`I�$H��[]A\H�@0��f���S��xH���u*��H����xH��J"H�=��!H������x�u[�DH��[���Df.�AWAVAUI��ATA�USH��I��H���H�-�J"L�vpdH�%(H��$�1�D���H�vH�EAPI�ȉ�H��"���ZY���A�ċ����x ���
ǃ�H���H���N�?�8H�{pL9�t!L��`L��\1ɺH�5��R��H�EH�sHI��H�{��H�C`H�{L��H��D$dH�D$H�E��H�sxI��H��t
H�EH�;��PH�EH�{pL�sx���@H�{L��H�D$XH�CXH�H�D$H�C`H��D$dH�D$H�E��H���I��H��t
H�EH�;��PH�EH�{pL�����H�{PH�D$XH�ChH�H�D$H�E�P�@H�{L��H��D$dH�D$H�E��H���I��H��t
H�EH�;��PH�EH�{PL����PH�{H���V��H���I��H��t
H�EH�;��PH�CX��H�{L��L���H�H�D$H�C`H�H�D$`H�D$H�E��H���I��H��t
H�EH�;��PH�ChL��H�{L���H�H�D$H���H��D$`H�D$H�E��H���I��H��t
H�EH�;��PH�CpH�{PL���H��$�H���H��$�H�CXH��$�H�C`H��$�H�ChH��$�H�E�PH�{H��$�DŽ$�UH��$��S��H���Q��H��$�dH3%(D��u|H���[]A\A]A^A_�DA9�����H�G"1�H�5�+L��A�H�1���@D����f.�H��F"H��P0H�=�
�gW��H�������vR��fD��AWAVAUI��ATUSH��H�����wH�-�F"H��A��H��H�Q1�A�H�E��hH���0H�2.H��H��H�$�R��H�$H����H�$H�EH��H�5~'H�L$�� H�$H�EH�5m'H��� H�F"��H��P(1�I��H���H��E"H����H�L$I���H�I�OI�_I�H��4I�GH�ALJ�ILJ�ILJ�I�G8I�G@I�GHI�GPI�GXI�G`I�GhI�GpI�GxILJ�ILJ�ILJ�ILJ�ILJ�ILJ�ILJ�ILJ�ILJXILJ`ILJhI�G(ILJ�ILJ�ILJ�H�$I��XI���H��A��xI���I��hILJ�ILJ�ILJxILJpALJ�ALJ�ILJPALJ`ILJ�ILJ�ILJ�ILJ�ILJ�ILJ�ILJp�JW��H�EI�L��H�h��"��0H�EL��I��hH�x�����0I�GL��H��L�L��H����H�pXH�jC"H����E1�I�ML��I�G A�T$�H��������^H�EI����H��D��[]A\A]A^A_�fDE1�I�UH��A�H�C"H�
�H�5+$L�1�A��@�DL��H����V��A�ƅ�tH�EI�A������1�L���fQ��1�L��I����UQ��1�1�L��I���E1�1��M��A��x 1�H��I��PI�GH�pXH�ZB"H���P����@H�EH��������fD��H���tM��u0H�AB"H�wE1�L�H��H��H�L���H�H"A��DH��A�H�������H��A"H��E1�E1�H�wH��H�L���H�"A��f.�����x�t1��SH��H����xH�zA"H�=+�!H����H��[�M����Df.�����x�t)��H����xH�.A"H�=��!H�H���������AUATI��U�SH��L��H��L�-�@"H�1dH�%(H�D$1�H�T$I�E��8��uQ��H��P���u	��xtH����M��H����L���t$H�����H��tI�MH�pH1�L��1���@H�T$dH3%(��uH��[]A\A]��L��@�����	��
��H�&ATHc�USH��H�>��fD��x�H��[]A\���D���H�߾[]A\��f���xH��[]A\�m��DH�tqH�-�?"H�w H�GH�H�EL��H��H�{H��A��H����L����xtH�����H�EH��H�5��[]A\H��0��[]A\�H�-Y?"���Df.���H��t7UH��H��H���SH��H��H����8H��t#H�@H��[]��H��P��H��>"H��H��E1�H�
H�5= L�1�A��@H��1�[]�f.���ATI��UH��SH��H�H��H����K��H��ttH���L�BM��t,H��I�t$L�MH��jH�
�"H���L��ZY[]A\�@H�I>"H�UH��H�
yH�5�L�1�A��@[�]A\�fD[�]A\�@f.���AWAVI��AUATI��UH��SL��XH��H�Y��T$H���H���H�=<
H��H��HN�H9���€���t5H��	�	H��HN�H�=sH��`L��hH9������LD�M�<$L���H���H�=�L��H��HN�H9��������ua�|$��H�EH��I��L��L�
�H�
(H�PXH�="H�5PL�j1�A��@X�ZH��[]A\A]A^A_�@H���H�=�L��HN�H9������uSI�}tI�EH���4��H��1�[]A\A]A^A_�I�T$H��L���I��H��t[I9Et�I�E���H�a<"L��L��E1�L��H�
VL�H�5P1�A��@H���[]A\A]A^A_���#���fD��1�H9�PtISH��H�v��H��H�SBXH�R0H9�t&H��u�DH9�t���uB\H�R(H��u�[�@����AWAVAUATUH��SH��8D���dH�%(H�D$(1����A��H�H��H��H��I���H��H��thH��H���5H��L�=N;"�$A9�t���H��1��V�H�����I�H���1�H�L$(dH3%(��H��8[]A\A]A^A_�DL�=�:"H��I�uH��I���8��tVI�H���H��:"I�U�H�L$A�t$L�D$H��H���p�ƒ���~k��������d����$�1���@H�\$E���H�
5H���GO��1�H��H��H�H:"H�1���@1�����fD��u�f��*���YD$�,��$����DH�S�K8�D$�R|�)ʋ���)ʋ����t+�������$���1�H��D�D$����H��tD�@XD�����$�S���H��PH�P01�H��t�BXA�����>E��@f.�AVAUA��ATI��UH��SH���7F��L��H��A���)F��A9�~	H��L��I��E1��	fDH������u*�ƃ�@��D9�tE��to@��uH��PH�����L9�t=H�C0H��u�H�C(H��u�H��P��H9�tH��H�SH�B(H��t�H9�u�[D��]A\A]A^�f.�A�@��t���H�sH��P����|���f.���AWI��AVAUI��ATA��UH��SH��L�1dH�%(H�D$1�L���gC����D$L��H��H�=HN�H9���À��ۅ�uvA���LI�WH��L���-E��I��H���#A�����������D$����H�T$dH3%(����H��[]A\A]A^A_��H��	�	H�=L��HN�H9���À��ۅ���A�H��H�=� L��L��HN�H9���€�����A����I�W�A�t$L��
�L���9F���D$���A���DH������/���H��6"E1�L��L��H�
yH�5��L�1�A��@�D$����H��PH�T$H������D$����H��L��H�=L��HN�H9���À��ۅ��}���A�D$����WI�WH��L���C��I��H���~���A���G�����[����uH��PL������D$1��	������I�vH��P1�A��������D$�����I�WH��L���C��H����������H��5"�H�t 1�H�5�L��@�D$���DH�51
L��1���@���f�H��PH��L��H�P0�z���ËD$�{����I�WH��L���iB��1�H���`���H��L��H������D$�C����I�W�A�t$L�*����I�WH��L���B���H��u������@�����H��PH9�t(H�v1�H9�tSH������CD[����1��DAWI��AVAUA��ATUSH��H�����D����C��L��H��A���)A��I���H�QH����zH�S���K8�rx�R|�)�)ʋ����t+����������D���9�}
�����A�wX���9�~#��)�9�{��)�)�9�q9������A9�u1�D9�uH��[]A\A]A^A_�DD�������E��t�H��1����H�����H��D��[]A\A]A^A_�D)�����)Љ�A9�t��f.�H��1�[]A\A]A^A_���y ����E9�|F�7B�A9�����)������A)�E������@�4
��)�9�O�����f.���AWAVAUATUSH��H��H�oL�gH��p��x����H��H��tOH��L���?��H���r1�H��H�����1�H���{��L�-T2"I�EH��p�P0H�sHǃp�C8���D���D�E��t�~xC�)ω����9�Lω����F|�D���E��E��D+��D+��)�)Љ��E��tD���M|�UxH�u(D�E H�;�#>��H��D�MxH�;I�ŋE|H�SxE1�1�L��P��<��AYE��AZH��PD��L��H��D���DK8D+�������C8���wD�C@H�����L�%j1"D�Mx�4	H�SHH�{M�$APA)�A��P�E|)�L��PA���H�� �����~<M�$��x��H�sH�H�{A�P ���M�$H��L��H��A���H�U(L9�t8jH�;L��E1�j�E|E1�H���P�ExP�/@��I�$H�� L��H�;��hD���I�$H��hE���0����mxs8D����6D���)�E����I�$H��h���H�;D���H��hH�p(D�@ �<��H��H�SxH�;AUA��E1�1�H��I���7;��XZAWAUH���1�L��A��E1�H���wD��H��hY^H�P(L9�t3jH�;L��E1�jH���E1�AUU�6?��I�$H�� L��H�;��hH���H��tLH�-/"H�{H�E�����t3H�EH�{H�56�� H�EH�{��p��������H��H���[]A\A]A^A_�z8��f.�H����+���@L�-�."L��I�E�������L�%/"����@��UH��SH��H��H��H��H���;��H��t]��xt4H��pH��t
H��."H��P0H�}�"?��H��pH��1�[]�f�H�ߺH�����H��1�[]��H���[]�@��AWAVAUATUH��SH��8D���dH�%(H�D$(1����A��H�H��H��H��I���5;��H��thH��H���E=��L�=�-"�$A9�t���H��1�����H���N��I�H���1�H�L$(dH3%(�=H��8[]A\A]A^A_�DL�=�-"H��I�uH��I���8��tVI�H���H�-"I�U�H�L$A�t$L�D$H��H���p�ƒ���~k��������d����$�1���@H�\$E���H�
�H����A��1�H��H��H��,"H�1���@1�����fD��u�f��*���YD$�,��$����DH�C�@x�D$���$���fD�D$��\���$����8��f.���AWAVAUATI��UH��SH��XdH�%(H�D$H1�����L�-,"H��H�T$(H�1I�E��8����I�EH�T$,H�uL��8A�ƅ��jH��P���u	��xtH����8��H����7��D�\$,H��D�����I��H����D$(�k8D�������D$���A)�E)�D���D$��tD+��L��H��D�\$L�T$�:��L�T$H�߉D$L���8��D�\$L�T$A)����D$)��D)�D�|$A�E��D+L$E;ZX}~E��xy��X����H��PI9Bt�SDA)ы����~NH���1�E1��E ��A9����(�D�D H�s(�A9��uH��A���A9�u��I�EL�����A�H�L$HdH3%(D���0H��X[]A\A]A^A_�@H���r�L�H���U9��A��붋SDA9��9���I���I�EH��t�I�JH��PH9���D�ApH;q���w������������A�A+Z|A)ȉ�E)���9�E����	�D9�����#���E������I�rHL�T$L��8I�EL��H�5���8L�T$L��I���H�I�EH�2��8L�T$D����I�EI���H��8��5��L��H������1ېA)σ�H�l$0�EO�H�
�H��1��D�\$D�L$L�T$��=��L�T$I�EL��I�rH��8I�EH��L��8L�T$D�L$D�\$I���H�DH���3���H�I�ED�L$L��D�\$L�T$H�2��8I�EL�T$D�\$D�L$H��8I���D��D��H�|��4��L��H�������A��A��A�A��I���A)��A�����3��@f.���AWI��AVA��AUATI��UH��SH��xL�)dH�%(H�D$h1�L���3���H�=E�L��H��H��HN�H9���À��ۅ��A�H��H�=Y�L��L��HN�H9���À��ۅ�uRA���I�W�A�v�H��L��	�6����H�T$hdH3%(���vH��x[]A\A]A^A_�DA�	H��	L��L��H�=�HN�H9��@��@��@����A�F�����A��t
I�W�:�7I��$PH�X0H��t(L�%�&"�I�$H�sHH��8H�[(H��u�1��E����I��$XH��t�H�pHH�x&"1�H��H�1���@����I�WL��H���3��I��H����I�D$��t�I��$P���uA��$xtL���C3��L���;2��L��L����2��A�T$8M�\$�E��$�A+�$�A�K|F�
G�D)х�N�9��'���A�uX��N�D�$E�������Aх�B�T�EH�D��A�9�M�A9��9���A�CxI��R�H�
D��dD)Ѕ�N�L��A�D�P1��J:��XH�R%"L��ZH��H���P����H��L��H�=�L��HN�H9���À��ۅ���A�������I�WL��H���,2��H��tgH�ph�_���H��
�
H�5�L��HN��B.������H��$"E1�L��H��L��	H�
�	L�H�5y�1�A��@f���$���fDH��	L��H�=D�L��HN�H9���À��ۅ��
H��	L��H�={�L��HN�H9���À��ۅ���H��H��H�=�L��HN�H9���À��ۅ���A���u���I�WL��H���1��H����H��#"1�H�5��H��H�1���@�X���f.�L��H����0��H������������I��$hH�����1������I�W�A�v�H��L���t2�������DI��$`H�������1�����H��H�=�L��HN�H��H9���À��ۅ�uNA������I�WL��H��� 0��H���W������H��""H���H�5��H��8�Y���H��L��H�=KL��HN�H9���€�����H��L��H�=�L��HN�H9���À��ۅ�u8A�����I�WL��H���/��H�������H�P0H���3H�rH���H���H�=�L��HN�H9���À��ۅ�uEA�������I�WL��H���"/��H���Y���H�@�M���I�OA�V�L��H���-�����d���H���H�=�
L��HN�H9���À��ۅ������A������I�WL��H���.��H�����H�P H��u�H��H�B8H��u������L�%9!"H��I�$���I�$1�H��H�5�1���@���H�5��H��8���H�P(H�������I��$P�H�@H�P(H�������H9�u�1��t����,��I��$PL��H��H�P0�������Q���H�PI9�$P��H���[���1��/������H��u�D���H�vH��t	���t��fD��UH��H��SH��H��H�Q�t-��H�øH��tH�sH����,������H���|*��1�H��[]���UH��H��SH��H��H�Q�$-��H�øH��tH�sH���,�����H���,*��1�H��[]�ATI��U�SH��H��dH�%(H�D$1�H���L�T$H�wH�H�@ARAQA��L��API��QH�
��!�-��H�� ��u�ŋD$��t7H��L���,��H���)��H�\$dH3%(��uH��[]A\�f�H��蘾�����*�����AUI��H��ATI��L��UH��S��H��H��,��H��tt��t��t*H��H�M�S�L��[E1�]A�A\H��A]���DH���H��I�t$L�ML�BjH�
��!H��L���t*��ZYH��[]A\A]��H���[]A\A]�H���H��I�t$E1�L�Bj�D��AWAVI��AUI��H�=�
ATUH��SH��H��H�����������H��A���)��I��A���9H���H��H��"HN�H�=n�H�H9��L��@����tNI���H�=L�H��IN�H9������t)I��	�	H�=2�H��IN�H9�������}1�E1�H�
�H��H�5�H��A�ѸH��[]A\A]A^A_�DI��PL��D$��)��I��PL��H�V8H��0�v��L���^'���D$H��[]A\A]A^A_�H��H��1�E1�H�
FH�5��A��H���[]A\A]A^A_��I�VL��H����)��I��H���5I���I�H�=%�IN�H��H9��������I���H�=�H��IN�H9��������I��	�	H�=�H��IN�H9������tH�"H�L��@���DL��L���(��I�GH�X0H��t(�I9�tH�{tH��L�����H�[(H��u�L���&��H��1�[]A\A]A^A_��I�wL���T(��I�t�L��L���R���L��L���5(��I�W8I�w0L������������fDAWI��AVAUATUSH��H��H��$�L�D$L�L$ H�D$@dH�%(H��$�1�H�����D$\�����D$?���1������H�D$\E1�1���H�D$HH��L�dH�t$(�D$8H�D$0H�D$H�D$��H���L��HN�H�=>�H9���������.H���L��HN�H�=�H9���������\H���L��HN�H�=��H9������usH�"J�t�L��H�T$HH���8����I���D$8M9�tbN�,�L���%���
L��H�=�H��
HN�H9������������J�D�H�D$D9�tHc�L�,�J�T�H�T�I����M9�u�H�D$@�|$8H�\$(�(��H�\"1�L��E1�H�-�H�5.�L�1�A��@�0�J�T�H�t$(L���^&��H�D$H���&���E1�DH��$�dH3%(L���/H�ĸ[]A\A]A^A_�@J�T�H�t$(L���&��H�D$0H�������fDH�D$0H�D$@H�D$�H���H�H�D$H�t$L���+��H���^���H�|$��L�t$�t$?L���$��H����H�PL)�H�T$(I�Ń��7L�%("�xI�$�P(H��Mc�H�t$H��L���x!��B�D-H��H��L���4%��I��H�����D$8H�T$H��L���%��I��H���H�D$M�$H��t
L9h�<H�D$0H��t
L9h��L��A���L�D$L��H��H�L$(H�T$�D���I��H���$I�M0H�����T$\�����$H���@��~H�@(��H��u�H����H�|$��H9���H�P L�r(I�V I�F(L�p �f�H��"Hc�E1�E1�H�T�H�5�H�
	�L�1�A��@���@H�D$H�D$(L��P1��D$8L�%�"����H�|$��H�D$I9E8�
H�D$H�@(L�p H�T$I�F(I�V L�r(H��L���#��H��� ���L$8��tI�$H�|$�P0H������H9l$ ����H�D$`H9�����I�$H��P0�������6H�D$�T$?8��D$?�D$aH�l$`L�%�"�D$`����M�$E1�H�
{�1�H�T$H�5��L��E1�A��@�F���f.�H�|$ �4H�T$ H��L���"��I��H���OD�@DL��$��(1�H�
��L���!*��H�|$ �W ��L��1H����������!� ��t��L�%"���€�D�H�qHDΉ�@�H��L)�|I�$�P(H��H�����H�
�H�D$H�Ǿ1�AVD�L$OL�D$0�)��XZH�l$ �D$8L�t$(���@H�|$���������H�PHE1�L��1�H�
-H�5c�A��@����f.�L��PL��$��(1�H�
���L��E�ED�)��L���$��L�%"H�D$�V���f�H�PHE1�L��1�H�
�H�5��A��@���f.��x��������I�E0I�E8H�@ H�@(�=���H�|$0��I�E8L�p(I�F I�F(M�u8����M�u8H�@(���I�$L��E1����M�$E1�H��H�
{�H�52�L��1�A��@���H�|$H�������M�u0H�P ���H�"L��E1�H����L�E1�L��H�
!�H�T$ H�5��1�A��@���H�D$0����z��H�l$`L�%�"���f���AUATI��UH��SH��L�	�T$M��t
A�9�LDȋD$H��H�YE1�H��H��L��P��T$H�D$P�	���I��XZM��t{�T$��~GE1�A�H��L��H���p��uFH�"I�uHL��1�H�1���@H��1�[]A\A]�@I���1�1�1�H�x�����t�I�}tL��H�����H���[]A\A]�@��AU��L�iE1�ATI��H��UH��L��SH�� L�L��H�D$�T$P�7���ZYH��t|�T$H�Å�~EE1�A�L��H��H�����uDH�C"H�sHL��1�H�1���@H��1�[]A\A]�f�H���1�1�1�H�x�*����t�H�{tH��H������H���[]A\A]�@��SH�_H��t���t;��t��t	[��H�[H��t�H�{H���s��H�{[�	��f�H�{�����x@��u�[�f�AWI��AVE��AUI��ATI��UH��SH��H�dH�%(H�D$1��{��H����H��H�T$I�uH��H�"H���8�����D$A9�$�������E��u,A�H�L$dH3%(H����H��[]A\A]A^A_�Hc�H���H��H��H�zu�H��"E1�M�E1�H�
h�I�UH�5��H��L�1�A��@�@H�i"I�UE1�H�
��H�5�H��L�1�A��@1��U������f���ATA�I��UH��SH��H��H��H��H��dH�%(H�D$1�H�L$���H��t]HcT$I�t$E1�H��H���L�EH��H��H�JH�H�PpH��"H����H�|$dH3<%(uH��[]A\�fD����D��@��ATI��H��H��UA�H��L��SH��dH�%(H�D$1�H�L$����H����HcT$��tsH��H��H���H��H�xH��xt|���HcD$H��H��H���H��H��H�@���H���P��1�H�t$dH34%(uxH��[]A\�DH��
"1�H�5��L��H�1���@��H���H��H���&��HcD$H���H��H��H�x�U���f���x���������AWE1�AVAUATUSH��H��H��8H�|$H�߉T$H��H�L$H�L$$dH�%(H�D$(1����H���tI�NjD$��/�����D$H�T$E1��
��L�j��H��L�d I�mH������H��H�=�H��
HO�H��H9������uM�uI��M9�u�M���H�|$L�����H��H����HcD$$�t$1�H��H��I�����H��H�T$H�EH���P������HcD$$H��I���H��H�xH��t&H��x�����HcD$$H��I���H��L��H�hL�|$L�����L���7���@DHct$H�D$E1�H��H�
��H�T�H��"H�5��L�1�A��@���H�\$(dH3%(uZH��8[]A\A]A^A_�@H�D$H���L�0����H�D$H��H�H������HcD$$I���H��H��H�x��������@��AVI��A�H��AUI��L��ATUH��S��H��H��dH�%(H�D$1�H�L$�\���H����I�����ubHcD$E1�L�EL��I��$�H��H��I�uH�HH�H�PpH��
"H����H�\$dH3%(��H��[]A\A]A^�H��L�����L�����HcD$H�U�s�I��$�H��H���H�x�3��띐��f�HcD$I�uE1�E1�I��$�H��H��L��H�HH�H�PpH��	"H�����J����y��f���AWI��AVAUA��ATI��UL��H��SH��L�5�	"H�1dH�%(H��$�1�H�T$I���8������HcD$A9��������A����A����A���_H�u�H�=����€����?H�u�>��I�H�T$L��8��uI�T$HcD$��N�A��\�T$�fDM�E1�H�
��L��H�UH�5�1�A��@�H��$�dH3%(���XH�Ĩ[]A\A]A^A_�@H�U�:t?H�x"H�L$I�wL��H���P��u��T$HcD$��y�D$1��fD�D$���������H��I���H��H�9Q �a����Q I���9T �M���A��xL���<���8����H�U�A�u�L��L�8�����������DI��P���u
A��xtL�����L�����HcD$I���H��H�l$�H��H�
 �H�º�D�@ 1��&��I�1�H��L��1���@�������f���SH��H��E1�H��H��H��dH�%(H�D$1�H�L$�n���H��tqH��"H���H�H��@HcT$H��H��H�z�t(1�H�5��H���1�H�t$dH34%(u'H��[�f�1�H�5/�H���1���fD������f�f.���UH��SH��H������<�H�0"��H��P(�����~;��H��H�L�H��fD�H�RH��(H�Z�H�B��B�����H9�u�H��[]Ðf.���L�I�D�BH��H��H�5'�!H�=�!����f.���L�I�D�BH��H��H�5��!H�=��!����f.����AWAVAUI��ATUSH��H��H��(�T$H�H�|$H�����H�D$H���D�D$�����N�D$I�mE1��
����H��M�dL�}L���$��L��H�=B�H��
HO�H��H9������uL�uH��L9�u�M����H�|$L�����H��H����H��xuH�D$��x�L�t$�t$I�U1�H��L�s�������uzI���H��tH��x���K��H�D$H���H�\$H��H�����H������;DH�"Hct$E1�H��H�
C�L�I�T��1�H�5<�A��@�H��(��[]A\A]A^A_�f�H�D$H���L�0����H�D$H��H�H���F��H�D$H����E���D��AVI��H��AUI��L��ATA��UH��SH����H����H���H��H��tzA����A��u2H�[L��E1�I�uL�EH�PpH�M"]A\H�A]A^H�����f�H��L������L���m
��H���H�U[A�t$�]�A\A]A^���H��"E1�H�UL��H�
,�H�5��L�1�A��@[�]A\A]A^��H�[L��E1�]I�uE1�H�PpH��"A\A]H�A^H�����f���UH��SH��H��H��H��xH�dH�%(H�D$h1��r��H����H���H��t]D�HD�@H��dH�
���H��1�����1�H��H��H��"H�1���@1�H�T$hdH3%(uJH��x[]�@H��"E1�H�UH��H�
�H�5��L�1�A��@��fD���<
��f�f.���SH��H�H��H�����H��tMH�N"H�H��@1�H���tH��1�H�5���1�[�fDH��1�H�5����1�[�fD�[Ð��AUI��ATI��H��UH��L��SH��H����H��tVH���H��H��tWH��x�����H��H��Hǃ��o
��H�����H��1�[]A\A]�f.�H���[]A\A]�H�i"I�UL��E1�H�
��H�5z�L�1�A��@H���[]A\A]�DH���H��H���
��H����X���f���ATI��UH��SH��H�H��H���1
��H��tgH���H��t0H�I�t$H��E1�[L�EH�PpH��!]A\H�H�����H���!E1�H�UH��H�
�H�5��L�1�A��@[�]A\Ðf.���L�I�D�BH��H��H�5��!H�=�!���f.��AWI��AVI��H��AUI��ATE��USH��H��H�-�!dH�%(H�D$1�H�T$H�E��8����HcD$A9~X��xTI�UH��E��u'H�L$dH3%(ukH��[]A\A]A^A_��H�xu�L�ME1�H�
b��f�L�ME1�H�
��1�L��H�5��H��A��@1���1���
�����UA�SH��H��H���H���H��H�	���H��t?H�xH��H��xt?�
��H�EH�߀�x@�c��H��1�[]�f.�H���[]�@H���H��H���^��H�}����AWE1�AVAUATUH��H���SH��H��(H�L$H�	�T$H���H���3���H�D$H���k�D$��)���p�D$H�T$E1��
��L�j��H��L�dDM�}L���L��L��H�=j�H��
HO�H��H9������uM�uI��M9�u�M���L��H���(��H��H����H��xu��x�H�D$H�xH�EH��tH��x�����H�T$H�sI��H�
��!H�{H�jjjjL�l$(I��AU�D$,D�H��
��H�� ���D$uY��x@H������D$H��([]A\A]A^A_ÐHcD$H�\$E1�H��H�
U�H�5X�H�T�H��!L�1�A��@H��(�[]A\A]A^A_�fDH���L�0����H���H��H���^��H�D$H�x������AUI��A�H���ATA��H���UH��SH��L��H��H�	dH�%(H�D$1��'���H����L�@H�sA����A����H�T$H��L���D$RE�L$�H��H�
.�!jjU�	��H�� �¸��t%H�L$dH3%(upH��[]A\A]�f.��D$��tӀ�x@H���9��1��D��f�H��L�MjH�
��!H��L�����ZY�H��E1�j���@����ATI��H���A�UH��H���SH�	H��H������H�¸H��t$H��L�BH�sH��jM�L$H�
6�!����ZY[]A\�f.���SH��H�	H���H���E1�H�����H��tGH��!H�H��@1�H�xtH��1�H�5����1�[�H��1�H�5d���1�[�fD�[�f���UH��H���A�SH��H���H��H��H�	dH�%(H��$�1�����H����H�@H��tiD�HD�@H�庀H�
���H��1����1�H��H��H��!H�1���@1�H��$�dH3%(uSH�Ę[]�f.�H��!E1�H�UH��H�
�H�5��L�1�A��@��fD���L��f�f.���AWAVAUATUH��SH�����L�%^�!H�|$�<�I�$�P(���H���������H��H�L�H�H��H9�u�I�E1��$f�I�I��D9����H���N�<�I�$�8�P(H��1�H���!H���H�uE1�H�CI��H�hH�@�@ H�@(L�p0H���!H�jH�|$���ZY���q���I�H���[]A\A]A^A_�fD��x@H��1�[]A\A]A^A_����H���H����AVAUATUS�������L�-��!I��1�L���H�,�H��tIH�}H��tH��xt]����H��!1�I�$H��H�=��!H���`I�EH��P0I��$�H��A9�$��I�E[]A\H�@0A]A^��fDH��L���
��H�}����L�-Q�!�Df.���AWAVAUATUSH��H��(���G8+L$h��xH�4$D�D$A��D�L$�D$�����1�1Ʌ����mDH�D$H��H�{E��A�L$0H��!I�T$(L�QA�L$4Q���QD��H�t$ D�D$,A��I�t$H�� H��tfL�A�|$4�D$A�xB�/�H�D$uD�T$D�D�L���H��D����E�D jA)�jjA)�H�|$ ���H�� ��xxf���H��E�D��9���H���H�����L�$�H�D�H��D�| E�49�������t$D9���A��A��A)����@M�d$I�$�xu�I�|$8H�w(H��uH���!H����I�|$8H�w(H�?�R���W���D��xH��([]A\A]A^A_�f�H��hH�p(H�8����L������LJ������~`H�����E1�H�pL���3�D�B�R�A4��D��A D9�~���H��L9�t!D���H��H�H�QH��u�E1�1�����x����L�I�D�BH��H��H�5w�!H�=��!���f.����H�H��t$H���!H�H��H�H�������Df.�USH��H��H�GH9����H9����H�{H�-�!H��tH�E�P0H�{HH��tH�*�!H���XH�CH�H��t H��!1�H��H�=J�!L�H�A��`H�EH��H�@0H��[]��f.�Hǀ�H9���o���Hǀ��_������UH��SH��H���H��t�H�����H��H��u�H�q�!H�uPH�}H�H��t
��PH�H�}H���H��t
��PH�H�}H���H��t
��PH�H�}H���H��t
��PH�H�}H���H��t
��(H�H�}H���H��t
��PH�H�}H��H��H�=�!1��`H���!H��H�H�@0H��[]������u5H���t)��H�����H�V�!H�=H�H������Df.������	��
��H�o�Hc�H�>��D�~,�������r���f��~,�����H���u�H���H�����DATUH�-��!SH�?H��H�Et*H�wH�L��HH���H�{H��A��H�E�����t��H��H�=5������H�EH��H��0[H�5���]A\��fD����AWAVAUATUSH��H��XdH�%(H�D$H1�H����MH�H��H|�PxH�p(D�@ �S���H��H�SPE1�H�D$I��H�1�H�{L��D�Hx�@|P���H�;H�S01�H���!D���L��D�OxL��CX�$�C,P�G|D)�PA��L���D�K,H�� M����D�C\H�D$0�D$E1�H�D$(D����D��A�Af�|$6f�D$:f�D$>f�|$B��~*A�O ��w!�H��D��D�8DE�E��uA��H��!H��A�H�;H�jH�L$8H�t$��I�O(AYAZH����A�G@H��H�ShA��t$ H�{A�����PA�G8PA�G<PAUH�t$8����H��0A�G0E����D�K,�K\M�?A�	E�VE�4M�����D$L9��A��AD�E��E1�D$L9����H�x!���H�I9G��H���E1�H�D$ H�D$E����H�S0�u�C�A+w4C�<	f�l$2f�D$0D)�f�D$4D�f�D$8�	fAG0D�f�l$FC�,f�D$<D��f�D$@f�D$D�C`f�|$6E�,�fD�L$:fD�L$>)�f�|$BE���0������u���A�O ���h����H��D�C����A��B���fDH���H��H�D$ ��A!�H�S@�u��/����I�HH����H�$�!E�G41�1�A�O0H�AUUL�L$���_A�G0AXE���[���A�W4H��H�{�M�D�HE�E���RH�T$0H�t$�u���YA�G0^�&���f.�H���H�D$E���C���H���H��H�D$ ��A!��r����D���A��A���"���@I�X�����H�t$H�{D����
���H��I�wXE1�jH�{E1�AUUA�G4PA�G0PH�L$HH�T$8���H��0H�{1�H�t$1������^�����D$H���!H�;H��D���H�S0L��CX�OxPAQ�G|A��1�D)�PL�|$(L��A���H���H�� H��tT�S\�@0�k,D�d$D�4PH�s0�H�;H���!D���A�H��P H��H�{E��UH��E��D��L���n���XZH�L�t$H�P(L9�t@jH�{E1�E1�j�p|H���V�@xL��P���H�� H�{L��H��!H���h����H�D$HdH3%(uXH��X[]A\A]A^A_�DH�W0H��t̋GX��t�H�?H�
��!H��E1�L�D�Ox1�H�w(P�C,P�G|PA��H�� ��'����D�O,H���G�	H��t\D�G\1�1�HLJ�E�E��H4D�P09�~�����H�H��u�G`����W$A�A�D���DЉG(�f�D�W$D�W(HLJ��f�f.�H���g����Gd��u0�w I����~.H���!A�S(I�;H�H���H�����H����w$����SH��H����H�{[���DATI��UH��SH��t1H���@H�H��t H�{H���$�����u�H��[]A\��H��!H��L��E1�H�
��H�5��L�1�A��@[1�]A\�Df.�AUI��I��H�A�!ATUH��SH��H��L�-��!H�H�uI�Ej���ZY����H�{HA��H��tI�E��XH�CHH�SPH����I�EH�}I��H�
��H�u��H�CHH��tNH�s(H�����K<H�}hL�K4L�C0������8�H���P���H�����H��D��[]A\A]�f.�H��A�[D��]A\A]�@H�s(H��u�H�CHH��u&H�sXH��t=I�EH�K4H�S0H�}��p�DI�MH�S4H�s0H���x�n���fDH�C0�[���AWI��AVI��AUATUSH��H��H�-��!H�6dH�%(H��$�1�H�EAPI�ȉ�H���!���ZY���'�{\A���C\�{`�C`�{,~�C,H�EH�s0I��H�;��H�CHL��H�;�H��D$dH�D$H�E��H�sPI��H��tH�EH�{��PH�CpH�{0L�{PH�H�D$H�E�PH�{hH�H�D$H�E���@L��H�;H�D$XH�E�D$d��H���I��H��tH�EH�{��PH�UH�CxL���H�{0H�RH���&H�A�@H�D$��H�H�D$H�EH�{h��L��L��H�;H�D$XH�E��H���I��H��tH�EH�{��PH�EH�{0L����PH�;H����H���I��H��tH�EH�{��PH�EH�{@L����PH�;H�����H���I��H��tH�EH�{��PL���H���h���H����H��$�dH3%(D����H�Ę[]A\A]A^A_�@A������H�H�D$H���H��u0H�EH�=m�L������H�3L��H��A��H���H��t��D$0A�IH�D$H����M�f.���AWAVAUI��ATI��USH��HdH�%(H�D$81�H�Q�!L�����H��A��A��XM�t$A�L���W���a����f�5��c�|��d�3��g����i�a��m�(���H�=��L��H��HO�H���!H9�L��A��A��E��E����H��A����`f����	H�=��L��H��	HN�H9����������H���L��H�Q�!HN�H�=�L�H9�������cA����E1�I�$L��H�
��H�5��A��@�H���!H��A�H�����f����H�=e�L��H��HO�H9��������A����I�D$�8H�D$����a��HDž�H��E1���H�r�!L�����f.�E1�H�
��I�$1�H�5��L��A�A��@H�\$8dH3%(D����
H��H[]A\A]A^A_����
H�=��L��H��
HO�H9��A��A��E��E����DH���!L�H��L��1�L��jL�
+�L�"�H�
K�H�5<�A��@XZ���fD���H�=��L��H��HN�H9���€����TA����H�{�!E1�H��L��M�D$H���!H�uH����A��H�'�!L��w����H��!H��H�
�H�5O�L�
��M��L��L�j1�I�$A��@Y^����f����H�=W�L��H��HO�H9����������L���A���H���M�t$H����I��I����I�EM��H����I��I�}L���A�A�Dž�u�H���M9��
L9���I�EI�$L�����H������@H��
�
H�=��L��HN�H9����������A����A���CH���!M�D$E1�H�H��H�'�!H�uL���A��H���!L�������	L��H��!H��	H�=w�HN�L�H9���€���u6A����E1�H�
V�I�$1�H�5��L��A��@�.���fDH���H�=��L��HN�H9�������1���L��A���A����H���!L�1�H��L��1�H�5�A��@���L���M��u���M�6M����I�vH�|$�~�A�Dž�u߀�a��L���H�����H�h�!L����M�l$�`A�R(H�L��I��H�h���I�F(L��A�O�I�FI�T$H��H�h!I�F0H�I�F8A�F@����I�FI�FHI�FPI�FXA�F ��A�Dž�����H����zH���L�0L���H�����H����H���!L����DD��L��L��L����A��H�d�!L����@H��L�d$ ���D�M(D�E$L��H�
���1���H�!�!1�L��H�1�L��@H��!L��W����H��!E1�E1�H��"���HDž�HDž��A���D��p�������	H�=�L��H��	HN�H9���€���u/A���
L���L��D��L�����f���fDH���H�=��L��HN�H9�������_���A����I�T$H���L����H������A���HA���EH��!M�D$E1�L�H��H�P�!H�uL��A���A��H���!L�����H���!E1�I�$L��H�
x�H�5d�L�1�A��@���A�W�I�L$H��L��A���A��H�l�!L����@H�T$I�t$L��A��8���D���H�=�!H�T$I�t$L��H���8A�Dž������D$9����H���H����H��d!�}\1�},�t$�L��f�H���H�����B09��9�|�L9Bu�H���!H�r1�H����f��L��L��L�	��������I�T$H���L����H���[���H�|�!E1�H��L��M�D$H�uL�H���!A���A��H�'�!L��w����I�D$�H�="�H��!H��L��A��A��E��E��uQL���M���/����I�t$L��A��8H���!M�$$L�M��u�����L���L��������H�=��H���A��A��E��E��uH���H�������H�p1�1�L��A��@H�K�!L����L���L������H9���I�EH������H��!L��H����H���!L��M����H�=|�H���A��A��E��E��ucH���H���_�������H���!E1�E1�L����f�H���!H�}E1�L��H�
X�H�5�L�1�A��@�p����
H�=��H���A��A��E��E��u.H���H�����H�H������H�������fD�
H�=F�H���A��A��E��E������H���H���H9�t}H��u
�5�DH��H�H9�@��H����@�t�H�r�W���A�O�I�T$H��H�����A��H���!L����L����T���HDž�HDž��A���H���H����������AWI��AVAUATUH��SH������L�5P�!H��A��H��H�Q1�I���hI��H���I�H�5��L�� H���!��H��P(H�����"L��H��L� I�$H�ـ���H�CH�H�C`I�H�kH�C �C,H�C0H�C8H�C@H�CHH�CPH�CXH�ChH�CpH�CxHǃ�Hǃ�Hǃ�Hǃ�Hǃ�Hǃ�Hǃ�Hǃ�Hǃ�Hǃ�Hǃ���0H�H��H��L�-�H�6�H�pXH���!H����E1�I�OH��H�CA�U�H������u4�D$H�y�!H��H�H�H�rX1��P�D$H��[]A\A]A^A_ÐI�H�;���H���[]A\A]A^A_�H�)�!I�H��E1�H�
��H�5��L�1�A��@H���[]A\A]A^A_�f�H���[]A\A]A^A_�f.�f���H�GH��t#H���!H�GH��H�H�����D�Df.���H���!I��L�E1�H�wH��H�^�!L��H�H�����Df.���AVI��AUA��ATI��UH�-5�!SH��H�E��XM��E��L��H��H�5�!H�=]�!�x�H��A��H�E���[D��]A\A]A^�f�f.���AVAUATUH��SH��H��`dH�%(H�D$X1�����H�GL�%��!�Px�H|���C0L�t$ L�l$�H��pL��)�)�)‰L$�T$L��������I�VC0H���I�u�)D$����H�\$0�(�\$(�T$�L$ H��H�
P��D$����I�$1�1�H��H��@1�H�L$XdH3%(unH��`[]A\A]A^�f.�L�%��!I��H�1H��L�t$I�$L��8��u*I�$I�VI�uH��8��u�T$�L$���@���4��@UH��SH��H��H9��t{H9����H9���H9���H9���H�{H��t��H�:�!H�UH��1�H�=r�!H���`H���!H��H�H�@0H��[]��H�H��tpH���H9���v���HDž�H9��k���HDžH9��`���HDžH9��U���HDž�E���@H���HLJ�H����H�H9�u�H�H9��\���H��H��u�����H���G���Df.�AWE1�AVI��AUI��ATUSH��L���H��8H�|$H�l$H��dH�%(H�D$(1���H��L��H�=��!�k��H�\$H��u7�d�D��E1�����u&I9�tKH��L��H�=q�!�t�H�\$H��t/I9�u�H��L��H�=P�!A�����H�|$H�����I9�u�H�L$(dH3%(D��uH��8[]A\A]A^A_�����@����t�@H�W��t��H�����H���!H�=yH�H�����f.�H���!H������H�=HH�H�����f�f.�S���H���u9�u-H���!���H��H�=5[H�H������[�fD�������f.���H�H��t두�Df.�AWAVAUI��ATA�USH��I��H���H�-!�!L���dH�%(H��$�1�H�vH�EAPI�ȉ�H���!���ZY����L��0A��L�������	L�j�L��H��	L��HN�H9����������H���H�=B�L��HN�H9�����������L�=;X!H���I;��H�X!H;twH� �!E1�L��H�
өH�5��A�L�1�A��@I�H���H��$�dH3%(D����H���[]A\A]A^A_�@����j���@H���L9�t!L���L���1ɺH�5@����H�EH�s@I��H�{��H�CXH�{L��H��D$dH�D$H�E��H�shI��H��t
H�EH�;��PH�EH���L�sh��H�{HH�D$XH�C`H�H�D$H�E�P�@H�{L��H��D$dH�D$H�E��H�spI��H��t
H�EH�;��PH�EH�{HL�sp�PH�{H��� ��H�sxI��H��t
H�EH�;��PH�sXH�{L�sx���H���I��H��t
H�EH�;��PH�C`L��H�{L���H�H�D$H���H��D$dH�D$H�E��H���I��H��t
H�EH�;��PH���H�{HL���H��$�H���H��$�H�CPH��$�H�CXH��$�H�C`H��$�H�E�PH�{H��$�DŽ$�UH��$��6��H�E�S,�s(H�{���������H������g����H�I�!E1�L��L��H�
��H�5�A�L�1�A��@H�EL��L�������H��0�	������@�����	��
��H�K�Hc�H�>��D�������@ATUSH�H����H�-��!H�w H�GH�H�EL��H��H�{H��A������t$��H��H�=���H�E�������tH���i���H�EH��H�5�[]A\H��0��fD�s���������@��H�-��!�x���f�f.�U��H��pSH��H��H��%��H�{H������H��(H��tQ��tLH�-��!H�{H�E����t3H�EH�{H�5��� H�EH�{H��pH��[]���H��[]Ð��UH��SH��H��dH�%(H�D$x1�H�A��8x����H��H��p��t`E1�H��H���������D$t*�H�\$xdH3%(��H�Ĉ[]��1�H�����H������D$���H�T$H�t$�1��H�\$ �L$�D$H�
���P�H�߸�b��1�H��H��H�c�!H�1���@1��\������f�f.���AWAVAUATUSH��H��H���H�dH�%(H�D$81��s0D����ȃ����������D�Gx�|�A��D��A)�)�D��)�)��E1����A�ă��ADЃ��DljT$0�D$4E����H���Hc�D�L�0H���}H��A��L�]M�T$fDH�PH�B�|�B�T�9�L�A9�DL�H��u�D��F���PH�������P��L�d$���H�l$ǃ�D�D$(D�L$,�I�̅�O�H�EE1�E1�E1�H�D$ H�͉T$�fDH�EH��t"H��H�EH�L$ A��D�D�E�E��D;|$u�A9�|HE���E�DD�A9�t4H���!C�tmD�D$��L�A�R8D���D�D$D��H���H��Ic�H�L$�T$(A��H�@H��L� �T�H�L$D�D�D�x���D�PH�ED���H��tI��E1�E1��<���L�d$H��D�L$,H��H��G�,L��H�H��H�ǂ�ǀ�E��~FE�B�H���L)�O�@O�DJ��N�D��y���|�9��}���H��I9�u�B�L�0���D���D���E��
ǂ������
ǀ������
ǂ������
ǀ�A9�}3E����C�tm��H��!H���H��P8D���H����H�������H�����H�D$8dH3%(�H��HH��[]A\A]A^A_��@H���Hc�L��A�H��D�L�0H�A�H�HHڋ��H��@H��ǃ�H��ǂ�H�ǀ��b���@���7����A������I�D$TL�⋳�E1���H��DŽ�PH��H�ǃ�H�+ǂ�ǀ��/����v��fDUH��SH��H��������������U���C0�})�H�K�U���C0)lj}���q|�yx���K0�)�)Ή�9����q�9�M�1Ʌ�Hх�H��U�E�������@�����U���E�����D�H�yT��<�H����B��@�ƃ��D�H��T��<����ȍJ�9�N�H��[]�@�W��U�k���DH���!H��H�=W���H����H���F����������f.�������f���AVI��AUATI��USH��H��H�ĀH�-=�!H�1dH�%(H�D$x1�L�l$H�EL��8��uH�EI�t$I�UH���8A�ą�t'A�H�L$xdH3%(D��uhH��[]A\A]A^ÐL��L������H��A��H�E���A���t�L�t$E��d1�L��H�
l���|��H�M1�L��H��1���@��1�����AWAVAUATUSH��H��hH�oD���dH�%(H�D$X1�H�a�!D�o0D�|$H�D�l$0�����M|��`�UxH�u(D�E H�?��XH��D�Mx1�I�ƋE|H�ShE1�H�;L��P� ��D�MxC�<?�M|C�D-�|$D^A)�)�_H�{D��)…�~��)ƅ����s8H��!H��H�S@H�V�t$@VL��QD�|$,E��D�����H�� E��~FH���!L�����LH�s@H�{�A�P H��H�i�!L�L��T$H��A���H�U(jE1�E1�H�KhH�;jL���E|P�ExP���H�� H�D$XdH3%(��H��!H�;L��H�H��hH��h[]A\A]A^A_��f��������������O|D�[0L�����EOx��E�1��L$A������D��H�D$D�\�PH��I��I�E��$�M����H���H����I9���H���H�L$1�1�E1�L���f�I9���Hcσ�H�IH��;t
u
��FD 1�H�H��u�D�‹L$C�)����O�B�8D9��=A)�E��$�A9��YA��$�A9�t1�H��D�\$��E��$�D�\$Hǃ����E���vA9���Ic�Mc�H�l$HL�T$H�@H���L�t$(M��H�<�I�CH��I��H�H�D$8I�CTH�D$@I�CH�D$ DH�t$8J�*�K0E1���H�(�v�xB�L�P���mA9���F�\�PD�|$M��M��E��E���m@D�@D�NH9����L�T$H��A��Rjj�T$p�L$tH�|$H����H�D$`H���H�mD$�J�2F�d�pH�� D;hL�T$�o�U ���H�u����҃⼃�U���q���D�HD�FH9���q����Ѐ���E��a���@H�������@��~\H���H�D$�t�D9�����H�D$E1�H���'��A �D9��jH��D9��}��A��A�P9�u؋D$4�M|D�MxH�{)�A)��������~\L�EL�\$ G�D�D9����?E1ۉL$H�D$��L�MH�D$ A�L�D�9�|[tyE��A��E�cH�mA9�u�H�D$�B�D�A��BD�PI��D;�����H�l$HL�t$(�R���f�M��M��D�|$���L$H�D$D)�)�B�L�P�����H�D$E�cH�m����L$C��)���Oщ�D�x~1ҐD9����������E1��H�|$D��H�ODD��t���f�D������D��A��)�A)�H�D$D�\�P���fDE�x����A��^������U���D��E1��A�������fDAWE��AVAUI��H��ATI��H�=ėUSH�˹H��8dH�%(H�D$(1������ulA��$��A��$�E��uE9�|�B��E1Ʌ�y�H�\$(dH3%(D���H��8[]A\A]A^A_�f�9�~�����fD�:@H��thL�51�!H��H��L��I���8A���u�����i���M�D�L$E1�H��H�
ƨH�5��L��1�A��@D�L$�Z���f�H�L$L�r1�H��L��H�L$����D$ H�D$I9��k����8,H�L$�]���L�p1�H��L�������D$$H�D$I9��:����8�1���H�t$ L������������AWA��AVI��AUATI��H��UL��L��SH��H��(H�L�D$H�L$E1�dH�%(H�D$1���������A��A�����t$�t$��A��$�9�MI��$�H����H��H�\$H�H�EH�\$dH3%(D����H��([]A\A]A^A_��9�lI��$�I��$���~��fDH�	��u�)��D$�|$H��u��T$H�ȅ�~�f.�H���u��j���A��h���DI��$�1�����H�SE1�H�L$L��L���	�����uŋ|$�t$9�~+�|$�t$��@I��$����P����n����~�����������AVA��AUI��ATUH��SH��H�� L�!dH�%(H�D$1�L������H�=Y�L��H��HN�H9��@��@��@��u`A����H���H��tf.��` �H�H��u�H����1ۉ�H�\$dH3%(�OH�� []A\A]A^��H��	�	H�=o�L��HN�H9���€���ujA����H��I�ML�L$H��L�D$��R����Å��TH���!1�H�H��@H�D$�@ ��H�5_�H��1����I���H���H�=�L��HN�H9�������7A�F�����I�MA�V�H��H��L�L$L�D$�������H�D$H������H�T$�H H9������DH��H H9�u�H�D$H�������f�I�MA�V�H��H��L�L$L�D$�S�����u[H�D$H���u���H�T$�` �H9��[����H��` �H9�u�H�D$�DI�U�A�v�H��L����t���� ���f.�I�U�A�v�H��L����?����f.�H���!E1�L��H��H�
�H�5�x�L�1�A��@���@H�5y�H��1�������p�����AWAVI��AUATI��UH��M��$�SH��8H�Y��T$H��dH�%(H�D$(1�蝿���H�=ۀH��H��H��HN�H9��������t0H��H�=Z�H��HN�M��$H��H9���€�����L�}L���8����H�=��L��H��HN�H9�����������|$��I�D$H��I��L��L�
��H�
ĊH�PXH���!H�5�L�j1�A��@X�ZH�\$(dH3%(�H��8[]A\A]A^A_�@H��	�	H��HN�H�=3�I��$M��$H9������LD�����@H���H�=�L��HN�H9������ucI�}tI�EL�����1��V���D�H�ML��L��L�L$ L�D$�r����¸���$���H�D$I9Et�I�E�f�H���!E1�L��L��L��H�
��L�H�5��1�A��@������ �����ATUSH��H��0H�whH�-n�!dH�%(H�D$(1�H��t
H�EH�?��PH�spH��t
H�EH�;��PH�sxH��t
H�EH�;��PH���H��t
H�EH�;��PH���H��t
H�EH�;��P�����\L�%��!H���H��tI�$�P0H�E1�H�H��H�=�!��`I�$H��P0H�D$(dH3%(��H��0[]A\�f�H�{H��H�L$I��H��L�L$�H�$H�D$H��H�D$H�D$����L�%�!H�{I�$���H�4$H���B���H�T$H���4���H�������'���藼���AUA��ATI��UL��SH��H��dH�%(H�D$x1���tI�P�qL��L���跿��H�UH�L$E1�L��H������Ņ����������H�����H���u�ʹD�D$D��)�A��tA�A��tD��)�D�A��D…�x9�DO�H�\$H�
Ѕ�d�H��1�����1�H��L��H�ׯ!H�1���@H�|$xdH3<%(��u1H�Ĉ[]A\A]�@H���!L��H���������D���@��ATH��E1�UH��S�H�ĀdH�%(H�T$x1�H�H�L$�Y��uAL�d$D�D$�d��H�
��L��1����1�L��H��H��!H�1���@H�T$xdH3%(��u	H��[]A\�褺��@��SH��H��H��0dH�%(H�D$(1���t\H�CH��L�
��H�5�H�PXH���!L�j1�L�A�H�
��A��@X1�ZH�t$(dH34%(uUH��0[��L�L$ L�D$H�����u*H�T$H��t�H���H�߉D$�
���D$�����Թ��@AWI��AVAUI��ATUH��SH���H��dH�%(H��$�1�I��L��衾��L��H��H�=��!�o���H�D$H��t51�I9�tnL�5��!�
DL9�t[L��H��L�����z���H�D$H��u�H�y�!H�=r�H�1��R H��$�dH3%(uVH�Ę[]A\A]A^A_�DH�l$ A�غd1�H��H�
����
��1�H��L��H��!H�1���@�輸��f�f.���AWI��AVI��AUATA��UH��SH��xL�)dH�%(H�D$h1�L�����A�H�=$yL��H��L��HN�H9���À��ۅ���H��L��H�=��L��HN�H9���À��ۅ��;�H��H�=g�L��H��HN�H9����������H��H��H�=�L��HN�H9����������H���H�=�L��HN�H9����������H��
�
H�=��L��HN�H9���À��ۅ���H��H�=��L��HN�H��H9���À��ۅ���H���H�=��L��HN�H9��������H�T�!E1�L��H��H�
l�H�5$o�L�1�A��@�!f.�I��H��t@H��L�����H�T$hdH3%(����H��x[]A\A]A^A_�@I���H��u�H�ͪ!H��H������M���M��t�E1�I��fDA�D$ tTL�5��!E��tI�1�H�5��H��1���@H�
D�L��E��1�� ��G���I�1�L��H��1���@M�$$A��M��u��)���f�A�L$�M�GH��L����G���������A�L$�M�GH��L����'��������A�L$�M�GH��L�������������A�L$�M�GH��L�����������I��d�1�E���L��H�
f�{���1�L��H��H�|�!H�1���@�c����'����ATA�UH��SH��H��H�wH�dH�%(H�D$1�H�D$PAQA��H��APL�CQH�
��!賷��H�� ��u#A�ċD$��t8H�CH��P�@�S�C�H��H�\$dH3%(D��uH��[]A\�@H��������y���f���AWA�AVAUI��ATI��UHc�SH��H��xI�$dH�%(H�D$h1�H�L$�~���uIH��hH�H�$����@��u]H�F�!I�T�E1�H�
siH�5viL��L�1�A��@�H�\$hdH3%(���5H��x[]A\A]A^A_���E�M�|$��H��I�DH�D$�M�7L������
L��H�=vH��
HN�H9������uI�GH�$I��L9|$u�H�4$L�����H���W���H�q�!�(H��P(H�4$H�߀` �I��H�@H�@蓲��I�GH����H�X�PH����@D�t$H�4$A�WA�GD;����1�L��H�=�!�Ƶ���U�I�L$E1�L��A�H���z����Ņ�uTH��H�\$@�'��D�D$H��1�H�
�|�(�藻��1�H��L��H���!H�1���@�l����H�4$1�L��H�=X�!�[���L��H�߽�����:���fDH�D$ H��H�D$����H�T$H�4$H�=�!�ٳ��H�|$(u.�&���@H�T$H�4$H�=�!A�����H�|$(�����E��u�H�L$H�4$L��H�=Æ!�������茱��f�f.���AVI��H��AUI��L��ATA�U�պSH��H�� dH�%(H�D$1�L�L$L�D$�%���u6H�D$H������tN��tyH�K�U�E1�A�H��L������A��H�\$dH3%(D����H�� []A\A]A^��H��L�@I�uE1�jH��H�
e�!L�����A��XZ�fDH��L�@I�ujL�K��@H���!E1�H�L��H�
�zH�5ΏL�1�A��@�^����T���@��AU�I��ATA�UH��SH��H��H��H��(dH�%(H�D$1�L�L$L�D$����u0H�T$H��tKH��L�BI�uH��jL�MH�
��!�ڱ��A��XZH�L$dH3%(D��u?H��([]A\A]��H��!E1�H�UH��H�
zH�5��L�1�A��@��~���@f.���UH��H��SH��(dH�%(H�D$1��B���wXL�L$L�D$H���&��Å�uhH�t$H��tH�T$H���I����u]D��H�\$dH3%(uPH��([]��H�A�r��L�RzH���@����fD����DH���P���詮��f���H���tM��u0H��!H�wE1�L�H��H��H�L���H���!A��DH��A�H���o���H���!H��E1�E1�H�wH��H�L���H�P�!A��f.���AWI��AVAUATUH��SH�����L�-P�!H��A��H��H�Q1�I�E��hH��H���#I�EH�5)�H��H�T$�� L�5�!��I��P(H�xH��H��H�Hǀ�H��1�H)�������H��H�T$H�H�SH�kH�H�H��H�CH�u+!H�ChH�H�CpH�CxH���I�Hǃ�Hǃ��C8Hǃ��P(H���H���H�H���艴��H��p�舲��H�����w���I�EH�{H��H������"��0H�CH��H��L����H�b��H�pXI����E1�I�OH��H�C A�T$�H���j�����2H�SI��D$H��H�rX1��P�D$H��[]A\A]A^A_�DI�EH�{���H���[]A\A]A^A_�fDH�!�!I�H��E1�H�
�vH�5�vL�1�A��@H���[]A\A]A^A_�f.�H���[]A\A]A^A_�f.�f���AVAUATUSH�F H��H9���H�-��!L�%��!L�pXH�>H�UI�$L��@��XH��M��L�
<�H�
�H�{jH��H�5�1�A��XH�EH�5�ZH�{�� H�EH�;L�� I�$��XH�{H��A��H�EH�{H�5���� H�EH�{1��pH��[]A\A]A^�fD��Ðf.�SH�H��H��1�H�=�!H�P H�ڞ!H�H���`H���!H��[H�H�@0��f�USH��H���G<�~y<��<uMH�H�-��!H�w@H�H�EH�R H�H��tH���PH�H�EH�H�R H�1�H��H�=V�!��`H��!H��H�H�@0H��[]�����u�H�H�-�!H�wPH�H�EH�R H�H��tH���PH�H�EH�H�R H�1�H��H�=��!��`�DH�-ɝ!H�(H�EH��t
��XH�EH�1�H��H�=��!H�H�R H���`�F���fDH�H��1�H�=��!H�H�P H�k�!H�H���`����f�H� �NAWAVAUATI��USH��L�5
�!I���XA��$����L�=�!I�|$ L��ADŽ$�H��I����I�l$8H��t;f.�H�]L�mH��tH��H�[����H��u�H��L�����M��u�A�D$|��tI�L��H�=I���I�t$I�$H��t(I�I�|$��I�I�|$I�D$H���HI�t$pI�I�T$H��tH���PI�I�T$1�L��H�=
�!��`I�L��H���H��[]A\A]A^A_���fD��SH�����H���!H��[H�H�@0��Df.���USH��H��H�GH�?H��t3H���!H�H�����XH�{H��H��[H��]��f.�H��[]�f����>t�fD����f.���AVAUATUH��SL�w8H�G(M����L�%�!A������I�^I�F,H��uB�bf���tl�S �C�K$�P�S�CAF,�J�SA�F,A;V0~A�V0H�[H�����C<te<u�H�} I�$H�KH�SH�s(H�?��p�f.�H�s(H��t�H�{HH�����K8L�KL�CD���C0�����@����_���I�$H�SH�sH�{(��x�A���DA�N0A�V �PA�F$A�V,�AA�F0;U(~�U(M�vE,�E,M������M(�UH�u0H��H�}�U4D�PI�$�q1�APA��1��M(D�E,���XZ�E|[]A\A]A^�f.�H�}`�-����1�1��c���1�1�L�%��!�f.���AWAVAUATUSH���\$`H����G4D�OxD��A�ˉL$I��I���wHD�E���@M�~8A�0)�M���E�A�N0�l$XA�F(A�w$��+l$Ao )�A�O(D�$A+G,�����H��������D�I�_A�W0H��u"��@���0H�[)��H�����{ D�C�6A�ыKA)��E)���w�H��D�?���DE��K�C������u�H��E�M�V H�K@H�s(j�AQ)�I�:E1�U�S$�A)�L��APE1�P觡���C�{ H��0H�[A�W0)�A�w$�H���U���M�)�D�M������H��[]A\A]A^A_���s$E�)�H�{(��H���!�61�A)�1�L�AQM��UA���Y�C�{ A�W0A�w$AX����f�H�K(H������H�SHH��tj�s<H��M�V �D�C0�sP)�E�I�:V�s4VL��PAQA���[�������fDD���A�A������������:����I�V`됋W0E�fXH���A)�D�T$`��H�WPH� D)�L�Ɩ!M�ATVA�v,)�VA�F(L��D)�A��A��A^4A�vHH�� A���_���f�H�Y�!H���G|H�=(���H�H�����f�f.���H�H�8�G|��u�D��AWAVAUATUSH��H�o�t$H�$�L$dH�%(H��$�1�@����H�������D$H�$A���I����H��L�t�M�/L���Š��L��H�=�fH��IO�H��H9������u9H���!H��H�L��x���I�wH�{H��A��H�C H���MH�kI��M9�u�H�s H���H�L�%A�!H��I��H���T$H�CI�$RH��!L�D$�L$���ZY�Ņ���I�$H�پH�{ H�������0H�ChH�{PH�H�D$ I�$�PH�{`H�H�D$(I�$���@H�T$�D$tH�D$hI�$H�{ ��H�spI��H��tH�S I�$H�:��P�C|L�kp����DH��$�dH3%(����H�Ĩ[]A\A]A^A_�H��!1�H�5́H��H�1���@���f�H�$Lc|$H��E1�H�
��H�5�t�J�T��H���!L�1�A��@�a����H���8����S����N���@f.���AWAVI��AUI��ATU��SH��H�\�!H��$�H�4$L�L$H�D$dH�%(H�D$x1�H���
�B�<��P(H�L$ H�L$I��H�E1�DK�<����
K��I��H�D9�濈�P(L�?���H��L��I��H�D$H�4$L��M�oI�H����I�G��1�I�GL��L��I�G I�G(I�G0I�G8I�G@A�GHI�GPA�GXI�G`I�GhI�GpI�GxALJ�� ����Ņ�uZH�D$L�8L;d$t	H�L��P0H�T$xdH3%(��uOH�Ĉ[]A\A]A^A_�fDL�d$ L�d$����������L�����H�L���P0L;d$u���l���f�f.���AUI��ATA��UH���8SH��H�}�!H��P(H��D��M��H�(H��H���!H�@I��H�@H�@H�@ H�H�C(H�P�!H�u H�}�C0H�j���ZY��uHH�}8t!H�E@H�XH�]@H��H��[]A\A]��H�]@H��H�]8H��[]A\A]�f.�H��1�����@��AVI��AUA��ATI��UH���HSH��dH�%(H��$�1�H�r�!H��P(H��D��M��L� L�%��!H��H�~�!�@I��H�u H�@H�}�@H�@H�@ H�@(H�@0H�@8H�@@I�$j���ZY����H�C8I�$H��t]H�H�D$H�C0H��thH�H��H�} ��D$dH�D$��H�C@H��$�dH3%(H��uDH�Đ[]A\A]A^�H�}P�QI�$H�H�D$H�C0H��u�H�Eh�fDH��1�����������H�5�!AVI��AUA��ATI��UH���8SH��P(D��H�!M��L� H��H��L�% �!�@I��H�u H�@H�}�@H�@H�@ H�@(H�@0I�$j���ZY��u@H�S0H��t%I�$H�u I��H�
]���H�}��H�C(H��tH��[]A\A]A^�fDH��1����H��[]A\A]A^�f���H�E�!AVI��AUI��ATA��UH���(SH��P(D��H�l}!M���@H��H��H�u L�0H�}I��H�@�@H�@H�@ H��!H�j���ZY��uH��[]A\A]A^�DH��1�����f�f.���AVI��AUA��ATI��UH���XSH��dH�%(H��$�1�H�b�!H��P(H��D��M���@H��H�z!L� L�%b�!I��H�@�@H�@H�@ H�@(H�H�C0H�u H�����H�C8I�$H�C@H�}H�CHH�CPj���ZY����H�C@H��tuH�H�{HH�D$I�$H��H��ti��H��H�} �@H�D$XI�$�D$d��H�CPH��$�dH3%(H��uFH�Đ[]A\A]A^�f.�H�Eh�f.�H�}`�f.�H��1�����ϗ��Df.���AWAVI��AUATUSH��H������L�aH��A��E�,$L�����A��a��A��c��H���!H�L��@A��i��A��lu)H���H�=�xL��HN�H9��������E1�H�
�xL��H��H�5�t1�A�A��H��D��[]A\A]A^A_�fDH���H�=�KL��HN�H9��A��A��E��E����A����M�fE�$L��D�D$����D�D$I��A��l��H�}@��A��b�A��i�vA��s��A��t��I���H�=_YL��IN�H9�������bH�u@I�NA�W�H��譚��H����H�U@H�z��H�JH�AH�B�E|�����H����������H��!H�L��@���f.�H���!E1�H�
�rL�I�H�52TH��1�A��@A����H���H�=%sL��HN�H9���€�H��A����u	E���1H��
�
H�=yL��HN�H9�������H���E���?���A���%A���qA�G��D$��I�FH�D$�I��A�G�A�M�t��DI��M9���M�}L���/���L��H�=AZH��IO�H��H9������u�H�Ո!1�H��H��uH�5�uA�L�1�A��@�c���H���H�=�uL��HN�H9����������1�H�5�uH��A��A�����DA����H�O�!E1�H�
0uL��Q���DI���H�=zVL��IN�H9�������KH��!E1�L��H��L��tH�
�uA�L�H�5�K1�A��@���I���H�=�tL��IN�H9������u�H�u@I�NA�W�H���'���H���:�������f�H���!H�L���M�nH����E1�M��H��H��H��H��L��[H�T{!]A\A]A^A_��f�H�Q�!H��H�L������E1�E1��fDH���H�=�UL��HN�H9��������H�}@����1�1�H��L�L$D�D$螑��H���E���M�fL�L$D�D$���f�I���H�=�TL��IN�H9�������h���H�u@I�NA�W�H���#���H���������DH��L��H�߹[L��r]�A\A]A^A_�V���fDH�T$�t$H��H��[�]A\A]A^A_���@I�VA�w�H���Ȑ��H��������j���H���!H�L����U���H�u@I�NA�W�H���0���H���S����2���H�BH�B�\���D��ATUH�-��!SH�PH��tH�UH�=�s1��R H�sH�H��tH�EH�{L��H��H�{H��A�ԋCH��tH�{@H��tH�E�P0H�C@H�:�!H��1�1�H�=4}!H���`H�EH��[]A\H�@0��f.��������ATI��U�/S@��tiH���I���H��@H���+@��tLH��DB u�@��mu#H�C��t2�DB t+A�$H�C�'D@��guTH�C<4t��uDA�$1�[]A\�H�K��u�DB t�A�$H�C��DJ t�A�$H�C��@��cuH�C��t��DB t�A�$H�C�@��su�H�C��t��DB t�H�CA�$[]A\Ðf.�ATI��UH��SH��H�� dH�%(H�D$1��*���H�0�	DH��H�H��DN u�H�5rH����������H�ل�����"���q��/tH��@��t~@��"�����q��/u�@��*uܿ  H�Qf�9�I��u�M�H���B� ��@��t6�r��*u�@��/u�  H�Jf�2�r@��u����{��H�����u�H�ސH���!H�L$H�T$H��H������u#�T$H�D$���.H���%H�H��R0H�1�1�H�5qH��@1�H�\$dH3%(�H�� []A\�fD�KH�s���p���H��"t1L�H��A�Dx ui��,td��}��H���
���<�����"u�H��H���y@���#���H���
@��"t�τ�����H���
@��"u��u����fD� �H��H���r@������H���@��"t�ք������H���@��"u���������A�$���H�9�!������|�������AWAVAUATUSH��H�wL�wH�|$dH�%(H��$�1�H�GH�H��tH��!H��H��H���hH�CH�H�\$1�H���7���H�C(H���jA�^8���nL�=��!L�d$1�H�,[H��H�|(H��tH���!H���0I�D$(A�~<tH�|(I��P0I�D$(H��A9^8�I�H��R0H�\$H�{H�(uH�P�!H����H�{I�FH�t$H��$�H��$�HDŽ$�H�D$P�G HDŽ$��D$(H�GL���D$|�@���D$\�D$[����A�F8�<@I����P(A�^8H�D$h���HH��H�D$ E1��'DI��P(H�E�A�^8A��H��A9��NA�~<H�E��u��E����|$(�S�|$[�HH�|$H��H�����D$f.�I�F@H�L$0IcV<H�4���V�H�t$ �D�T$E����H�l$H�5*SH���
�����tFH��~!H��H�L������H�t$H�|$PH��H�vA��H�L$ H�AH����fDI�H��I���P0I�H�|$�P0A�^8A�E�H�D$ 9��Z��E�N4H�D$|E1�Hc�H�D$H��E����H�\$L�l$h@I�F@H�L$1�E�F0H�E����@E�~<A�V8A���6��~oIc�M��H�D$(�B�H�D@I�D�H�D$ �I��L9|$ tBI�wH�T$(H���,�����u�H��M�OE���t$H��$�H��$�H�|$ ����XZ�;t$A�F<��~��H�D�	@H9�t	H���;u��A;n0�E���A��H�D$E;f4����H�\$H�t$hL��D�D$|H��$�H�s(H��$�H��賅��H��$�H��L��H��$��8���H��$�dH3%(��H�Ĩ[]A\A]A^A_�����~2A8MtK��I�EH�TRI�t���H��H��8H�t,H9�u�H����A;n0�k����!���fDL��DH��L�J��E��t$H��$�H��$�H�|$ �͋���^_��H�����������H��$�A�H�D$`DJ��IcV<H�D$0I�F@J�H��I������I���Q(L��H����I�H�݉�Q(�D$H�D$H��$�H�D$8@A�<$��H�t$8L�����I��H�������$��҈T$@����H�T$@I��H��I��I�$�����DP u�H��DA�$������}�v������}~c���������uE�|$\�����D�\$E���D���H�|$H��蟄��A�<$�D$�/���@H��������������f���u�|$(�S����fD�|$(�@����I�0H���DF u�
I��H���3���H���5���H�t$`L��H�T$HL�D$@�i���H�T$HH������A�$L�D$@��u%����I��H���B�A�$������I�0H��DN u����DH�z!H�=�hH�L������H�t$H�|$PH��H�vA��H�L$ H�A� ���H�D$ H�x�������DH��y!H�=2hH�L������H�t$H�|$PH��H�vA��H�t$ H�F�����L�=9y!���@L�=)y!�����߄��Df.�AWA��AVI��AUATA��USH��H��HL�-y!dH�%(H��$81�H�G H�D$H�GH�D$H�G(H�H�D$I�EH������H��M��I��AWH�{D��H��p!H��A���AZA[����H�k(L�cH���H�D$X�Hw!���`A��H��H�=Sw!��w!H���DH�@H�D$ H�t$ H���DH�L$XH�T$HH�6L��H�-x!H�E�����H�E���|$H��H�L$XL�t$`L��L��H�1��8����H�D$XI�VL��H�pH�E��8����H�D$XH�T$TL��H�pH�E��8���_H�D$XH�T$PL��H�pH�E��8A�ƅ��9E��t�D$TD$d��;D$Lt	H�E�#D�KHE��tH�{@H��tH�E�P0H�D$ �L$`D�{HD�D$dH�|$XH�C@�D$P�K0�C<�D$TD�C4�C8H���dH�E�P0H�kPH��t�H�����H�m H��u�I�EH�{@H�;H����ND�C4�K0H��A��1�1�AP��_AXH��$8dH3%(D���H��H[]A\A]A^A_ÐH�C H�sH����H�D$XH����H�-6v!H�MH�D$`L��H�D$(H����I��H���H�5�JH�����I��H����1��H���v������@L������H�D$ ����1�1�L���M�������D$ �xH�E�P(HcL$ �H��H�D$0H��H�L$8L�����9D$ �+L���c�������L�|$0H�L$8H�T$LL��A�L����L��A�H�D$ H�E�P0H�EH�|$(������H�EE��tH�|$ �P0H�EL���H�ML��1�H�5�c1���@H�|$XH��tH�E�P0H�{ H��tH;|$t
H��t!H��P0H�{H;|$tH��t
H��t!H��P0H�D$A�H�C H�D$H�CH�D$H�C(���f�H�T$LH��L��A���H�D$ �%���H�EL��L��@��pL��E1�L��I��H�
�bH�59c1�A��L�����H�|$0H�EH��t�P0H�EH�|$(�������H��s!E1�H��L��H�
�bH�5�bL�1�A��@����H�-�s!H�MH����H�D$X�l���H�EL��L��@��pE1�L��H�
ObI��H�5^bL��1�A��L���S~���Z���fDH��1�1�E1�jE1�1��Y^���H�EL��L��@��pE1�L��L��I��H�
�aH�5�a1�A������H�EL��L��@��pE1�L��H�
�aI��H�5�a�b���1�H�5aL��1���@���H�EL��L��@��pE1�L��L��I��H�
gaH�5�a1�A���o���H�kPH�������I�EH�;H��������~��Df.���AWI��AVAUI��ATU��SH��H�,r!H��$�H�4$L�L$H�D$dH�%(H�D$x1�H���
��<��P(H�t$ H�t$I��H�E1�DK�<����
K��I��H�D9��X�P(H��H�4$L��I��H�D$L�YL��M�nI�H����I�F1�L��I�F��L��I�F I�F(I�F@A�FHI�FP�3�������L;d$t	H�L��P0H�D$L�01�H�L$xdH3%(��H�Ĉ[]A\A]A^A_���~L�d$ L�d$����D�X�P(H��H�4$L��I��H�D$L�{L��M�nI�H����I�F1�H�T$ I�F��L��I�F I�F(I�F@A�FHI�FP�S������0���L�������(���f�L�����L;d$����H��$L��R0�$����{��Df.���AWAVI��AUATUH��SH��8dH�%(H�D$(1�����L�iI����E�}L����z��A��c��A��ru-H��	�	H�=�^L��HN�H9���À��ۅ��tH�uo!E1�L��H��H�
�]H�5�X�L�1�A��@H�T$(dH3%(����H��8[]A\A]A^A_��H���H�=}XL��HN�H9���€�H��A����u*E��t%���<H��n!E1�H�
�[L��H��
�
H�=H^L��HN�H9�������#���E�������������H��n!H�H���M�nH���E1�M��L��H��f!H��H��Ӊ�����H�9n!E1�H�
�VL�I�H�5r8H��1�A��@����@I�D$PE1�H��tDH�@ H��u�I���1�L��H�
�C辂���L��H��H��m!H���P�a���fDH��m!H�H�������f�H��m!H��H�H������E1�E1������s�I�V�L���D�������y�����H�?H�Gt^USH��H��H�-Fm!H�H�E���H��t+H�EH�;H�����XH�{H��H��[H��]��DH��[]�f��Df.����������AUATUH��SH��H��H�wH��tH��l!H��H���hH��H����{��H�S(H����H�C�H8����L�-Nl!1�@L�dmI��J�|"H��tH�Vl!H���0H�S(H�C�x<tI�EJ�|"�P0H�CH�S(H��9h8�I�EH��P0H�SH�JPH�A H9�u
�MDH��H��H�P H9�u�H�Q I�EH��H�@0H��[]A\A]��fD��L�-�k!��H�BP��f.�L�-yk!�z���@��ATUSH�^PH��u�%DH�[ H��tH9{u�H��[]A\�fDH�1k!I��H���8H��P(L��H���L�`H��H�hH�@I�D$PH�C(H�C I�\$P�z��H����H�{ u�H��j!I�|$@I�<$H�H���t#A�L$0E�D$4H��1�1�APA���YH��^[]A\�H��1�E1�E1�j1�1���XZ�6���f�f.���ATI��UH��SH��H���
Ei!dH�%(H�D$1���u&H�:j!��i!H�=4i!H����H�T$H��H�=i!�^i!�T$��t&H�h1�H�L$dH3%(uAH��[]A\��H��i!E1�H��L��H�
YH�5YL�1�A��@���bu��f���H��i!SH��H��H�W1�H�=c!H���`H�qi!H��[H�H�@0��@��H�H��t$H�ui!H�H��H�H�������Df.�ATL�%?i!I��U�SI�$H��H�6H��API�ȉ�H��b!���ZY��u��I�$�S$�s H�;�����[]A\�f���AWI��AVAUI��ATUSH��H��h!L����UI��A��A��XI�o�}ctFL�H��L��E1�H�
�WH�5�Q1�A��@H�L���H���[]A\A]A^A_�H���`s���
H�=�WH��H��
HN�H9���€���ubA���@A���H�h!M�GE1�H�L��H�ka!I�4$L���H��D$L����D$H��[]A\A]A^A_�H���H�=QH��HN�H9����������A��uqH��g!L��L��E1�M�GI�4$H��`!H�H���H��[]A\A]A^A_��I�L��1�E1�H�
�OH�5w1A��@H���[]A\A]A^A_�@H��L��D��L��[L��I]�A\A]A^A_�v��I�OA�V�L��L��A������f�H��f!E1�E1�H������f.����>t�fDATUH�-�f!SH�?H��H�Et*H�wH�L��HH���H�{H��A��H�EH��H��0[H�5����]A\�����AWAVAUI��ATUH��SH��(dH�%(H�D$1�����L�5 f!H��A��H��H�Q1�I���hH��H���H��e!�8H��P(H��H�5RUH�I��H�I�oI�GI�I�G I�G(A�G0�� I�H��H��^!����H�{@H�w(H��uI����H�C@H�p(H�S^!D�K|D�Cx�Kt�SpPhHH�;jjjj�u��H�KH��0H�T$H��H�C(H������L��H�T���I�?H�XI��Hǃǃ�Hǃ(��0I�L��H��L�O���H���H�pXH��d!H����E1�I�ML��I�GA�T$�H���Y��������D$H�fd!H��I�H�H�rX1��P�D$H�L$dH3%(��H��([]A\A]A^A_�f.�H�d!E1�I�UH��H�
�:H�5�:L�1�A��@��fDI�I�?�����D�sH�;�ux��H���s���D��a����io��f���USH��H��H�-�c!H�H�E���H�EH�{�������H��[]�f�UH��H��SH��H���|n���H�=�RH��H��I��HNȸH9���€����I���H�޸IN�H�=�RH9���€�����I��	�	H�޸IN�H�=�RH9���€�����I���H�޸IN�H�=]RH9���€�����I���H�޸IN�H�=5RH9���€���tXA�
I��
H�޸ L��H�=RIN�H9���€���t)I��
L��H�޸@IN�H�=�QH9���€���uH��[]�H��a!E1�H��H��H�
�PH�5�QL�1�A��@�������f�SH�OH��E1�A�H��0H�W(dH�%(H�D$(1�H�G�GH�p(H�8QH�L$(QH�L$(QH�L$$QH�L$0Q1�R�u��H��0��uH�D$H9C(t!�C~H�D$(dH3%(uH��0[�@�|$ u�H�|$u�����l��f.�H�a!H�����H�=h���H�H�����f�f.���AWAVI��AUE1�ATUSH��H�-�`!dH�%(H��$x1��G\L�d$0�<�H�E�P(L��H�D$H�E���H�EH�t$I�~0H�4$���H����H��$L�xA�G tI�H�|$Ic�A��H��H�EI�wL��A�W���E��d1�H�
P�H���u��H�ڋ
H����������!�%����t�L������D�H�JHDщ�@�H�EH��H��H)���H�EH�<$��H���M���L�=�_!I�~H�5�OI����I�~H�5�OH��I����I��A�����I�FE1�A� L���H�p(H�8AUL�l$AU�xo��XZE1ɋD$8I�~H��H��A���H�w(H�?P�t$8�Ko��H�EYL��^���H�EL��P0A����ƒ�A���I�V��t�t-H��$xdH3%(uZH�Ĉ[]A\A]A^A_��L�������fDI�FI�>E1�H�
�NH�5�NH�PX1��]r��A�������+j���f.�H�Y^!H�����H�=X���H�H�����f�f.���AWAVAUATUSH��(dH�%(H�D$1��>t)H�D$dH3%(��H��([]A\A]A^A_�fDH��]!L�0I��I��L��L��H����H��H��tK�L�eH�I�|$�P0H�I�|$�P0H�L��P0H�H��pH�L��H��H��u�H�L����xI�vH�=�\!� ]!H��tH�H���pH�A���tL��H�=8������A����H�L���P0������h���UH��H��0SH��H��dH�%(H�L$1�H�T$�PxH�ŋD$��uH�EH�L$dH3%(u4H��[]�f�H��\!�(H��P(H�H�@H�@H�E��@h����AWAVAUATI��USH��H��dH�%(H��$�1����II��H�y����$�eg��I�t$L��H��I��H�H\!H���xI��H���X��uZI�t$1�H��A�H��[!H�JLL�1�A��@H��$�dH3%(D���H�ĸ[]A\A]A^A_�@D�
[!E��u&H��[!�H�=[!H������Z!H�D$`L��H�=�Z!H�D$H��1[!D�D$`H�D$E����H�?[!��H�H�T$�P(L��H�T$����I�~(I��H�L�puH�0[!H����I�H�T$H�[!H�T$H�5dKH����H�T$�I�0I�G(H����L�����H�D$L��L��H�u����L�xH��Z!H���0�<$dI�T$���<$i��I��
�
H�=DKH��IN�H9��A��A��E��E����H�;Z!E1�L�SKH�
�KH�5UKH��A�L�1�A��@�1���f�E1�I�$H��A�H��Y!H�
,JH�5+$L�1�A��@��f.�L�xM���'���A�������<$p�6I��	�	H�=�JH��IN�H9�������+�����A���	I�l$H���d���H�=�H��H��HN�H9���€���u
A���EH��	�	H�=JH��HN�H9���€�A��A����u	E����H���H�=�IH��HN�H9���€���u	E����H���H�=C)H��HN�H9������u	E����H��X!E1�H��H��H�
�IH�5YL�1�A��@�����<$t����I��
�
H�=kIH��IN�H9��A��A��E��E�����H�FX!I�H�5$I��H����H�$�������?���H�X!I�t$L��H��H���xH������I�H��(E1ɹ!A� H�w(H�?jPL�T$L����g��XZ����f.�I���H�=HH��IN�H9�������%���D�m�A���iI�D$A����I�ƍE���H��I�l(�'�D	�ƒ�~A��D�A�GI��L9���I�6H����A�ă���F���H��V!I�vH��H�T$H���A�Ņ������|$`A�G��u�D���!Љƒ�A��D�A�G�DH�D$HI�G�pH�8�@k��I�H�5sGH��H��V!H����H�T$HE1�1�I��I�GRA�H��H�8H�T$HRH�T$HRH�T$@RH�T$PRL��AT��i��H��0H�|$HL;d$0u�|$( uH�|$8��H��t�b��H��U!H�
H�5�*1�H��1���@����H��U!I�t$ I�H����I�0H��A�WpH��H��t6H��U!L�`H�I�|$�P0H�I�|$�P0H�L��P0H�H��pA���uL�������E1����H�QU!I�0H�t$H�H�$���H�$H���V���fDH�@H�$H��H�pH���8H�$H�|$H���H�$H��u�����L����E����I�t$H��A��l������H��T!H�H��@1�A�G�SH�5�#H��1�E1�����Mc�E1�H�
SCH��J�T�H�tT!H�5M5A�L�1�A��@�~���I�GI�OI�W(E1�A�GA� H�p(H�8jQH���Wd��I�GY^���<���A����.���L������!���I�GD�gH�L$XH��L�D$H�T$PL�L$,H�8��^�������t$,����H�T$`D��H;
�"H�B��H�4��H��H;H��H9�u�1�H�|$HH���U�_��H�|$`H���EH�cS!H�H��@���Z���1�H�58"H��1����d���E�G�(�1�H��$�H�
�CA��H��A���g��L�%S!H��H��I�$��8E�GH��1�H�
�C�(�A��A���g��I�$H��H���8E�GH��1�H�
dC�(�A��A���g��I�$H��H���8E�GH��1�H�
7C�(�A��A���Rg��I�$H��H���8E�GH��1�H�
	C�(�A��A���g��I�$H��H���8E�GH��1�H�
�B�(�A��A����f��I�$H��H���8����H�R!M�l$ I�I�l$(H�L���L��H����H�xH��H��t
H��Q!H��P0H�{�H���'b��H��H��H�C1��K H��H��H��H�CA��������H�5&H��1�E1���e���H�|$HH����1����H���@]�����H�<Q!I�t$ I�H����L��H����H A���������q���H�Q!I�t$ I�H����L��H����` �A����J����6����`\��H�|$`1�H���k����������L���a��H�C������>!t1��@AUATUSH��H��L�%tP!H�v H�{I�$���H��H��tI�$L�k(H�55@H���I9�t1�H��[]A\A]��H�P!H��H��H���������AWA��AVA��AUA��ATA��UL��SL��H��dH�%(H��$�1�A��u@H�[@��t�H��O!H�T$H�t$H��H���h�T$�Cx�L$�D9�@��D9���D9�@��!�@��t�C|�D9����uH�}��c��I��H�}H�L$ L�ֺ�H�D$0�DŽ$��D$ L�T$�`��H��H�}E��AWL�T$E��D��H��H��L���,c��H�}XH��Z�a��H��$�dH3%(u'H�ĸ[]A\A]A^A_�L�S(A)�A)�A)�A)��[����?Z��Df.���A����AWAVAUATUSH��(�|$`��E��D�ÉL$I��I��H�|$E1���f.�A����E9�~+��t�D$H�|$A��L��L��A�A���~X��E9�ՋD$A�D�t$B�D0�E��D�|$`�D$�؉���
�A����E9�~)��t�L$H�|$L��L��F�D5A����� X��E9�׉��D�t$A��ËD$`�D��D$�D$B�D0��D$D��A��D��A�����A��A9�~,E��t�L$D�D$L��L��H�|$A��)���W��A9�ԃ|$`D��tG�D$`L�|$D�t��fDA����D9�t%��t�L$E��L��L��L��A�����\W��D9�u�H��([]A\A]A^A_���Df.���SH��H��D��D�ɋ\$D�\$D�D$ D�L$(D�T$8D;D$0|E9�|�@[�f�fD�@I��fD�HA��@�P�Hf�fD�X�D$[��]��f.����F��u�@H��H�ЋN�VjI��A�H���]��H��Ðf.���H���vdH�%(H�L$1Ʌ�uH�D$dH3%(u:H���@H��H��A�H� N NH�T$H��1�jL�D$�+]��XZ��2W��f���H����^��@��SD�T$ L��L��D�\$(�\$0D�D$D�L$H�T$0�T$8�\$ �T$(H��D�\$D�T$[�iT��f���D���D$E��D�L$�D$�4V��@��AUI��։�ATD��E��US�GL�L$(D�\$0�\$8��tH�D9�l�oF�,D�$(D)��E9�O��G9�~��)݉�A)���E�$�,8)��A9�DO�H��J!L��H��\$0D�\$([H���]A\A]�����D)�A��)���f���S�\$0H��L�ƋL$D�T$ E��D�\$(D�L$�\$(H�\$8�L$H��H��H�\$0D�\$ D�T$[�S����D���D$E��D�L$�D$�]��@��H��I!S�H��H��P(H�H�@H�C0[Ð��AWI��I��AVI��AUATU� SH��H��H�F�P L���1�@�ō,�H�p�C4L�\$L��jE1�E1��UP�C0PL�T$ �"]��L�-+I!H�� I�ċx,�{4I�E�P(L�\$E1�E1�I�D$��I�CH�p�C4jUP�C0PL�T$ L����\��H�� H�ŋx,I�E�{4�P(H�EM�'I�.H��[]A\A]A^A_�@f.���USH��H��H��t"H��H!H��H�zH��P0H�EH��U`H��t/H�`H!H�{H��P0H�CH�C`H��H��[]���H��[]Ð��AUATE��U��SH��H��L�l$0M��t0H��I�	��D��H��PpH�CpH��D���H�߹[]A\A]��f���H��1�D��SpA�EH��[]A\A]���AWE��AVAUATUH��SH��H��L�-�G!L�v0H�$�W0H�L$M�M�O4dH�%(H��$�1�H�FL� D�@ H�p(L��A��X1�1�H�{H�CI�E��H�sE1�E1�I�‹E4L��L��P�E0PjjH�L$ L�T$ �$Y��H�� L�$L��I�EL���PE����H�CA��M4L��U0H�p(I�E��X1�1�L��I�H����W��I�6E1�E1�I�NjE4L��L��P�E0PjjH�L$(�X��H�� L��L���YY��I�H��H�H����H��	H��$�I�EH�T$�D$tH�{��I�FH��$�dH3%(u'H�Ĩ[]A\A]A^A_�DI��1����Q���f.���AUA��ATI��UH��SH��H�_0H�3H��tH��E!H��H���hH�H�sH��tH��E!L��H���PH�CE��tH��E!H��H��P0H�E0H��[]A\A]����AWAVAUATUSH��(L�w0D�|$`D�T$hI�FD�\$pH����A��H��D��H��D��D)�H�T$H��D)���H��D�L$D�\$E��D�T$��W��D�\$H��E��I�NH�uASD�T$ARAWD�L$4AQH�T$(E���cT��I�vH��HH��1�[1�]A\A]A^A_�W��DH��([]A\A]A^A_Ð��1��f���AUATUH��SH��H�_dH�%(H�D$1�H�$H�����;Ϻ����I��A��1�H��I��H�5!6�SH���OE��t[A�<$@��t0L��@��1�D��0H����	��������u���E1��L��H��H�5�5�SH����H�$H��C!H�RH��tiH�
H�
�C!H�JH�RH�
�C!H��C!H�|$dH3<%(��H��[]A\A]�f.�H�5H�EH�E1��f�H�=C!H�*C!H�C!�D@:8u-��
@H��@8�uA��4��u��0��	�)���E1��L��H��H�5�4�S1��>����N��f���AV1�A��H��AUATI��H�5�4USH��H�� H�-�B!dH�%(H�D$1�L�D$H�D$H�E�PL�l$H���.E��tcA�<$@��t4L��@��1�f���0H����	��������u��.H�EE1��L��H�54H��PH����M��tdI�UL�-!B!H����H�
H�
B!H�JH�
�A!H�JH�RH�
�A!H��A!H�\$dH3%(�H�� []A\A]A^�@H�UH�D$H����L�UjM��H��3L�
f3H��PH��3H�
f3PH�D$ H�D3H�5g3P1�A��@H�� 1��w���@H�MA!H�:A!H�'A!H�A!�B����@:8u-��
@H��@8�uA��4��u��0��	����H�EE1��L��H�5�2H��P1�����fL����H��H���tixClassTab" redefinedClass "::invalid instance name "classNameClassNamecontextmissing argument for "Constructoroption ...-flagsubwidgetw:%sunknown subwidget "name ?args ...?Unknown Tix internal error" not definedSuperclass "config spec list "Wrong number of elements in tixSpecTabaddwidgetDefault*superClassoptionsforceCalldefaultsmethodsstaticOptionsisWidget:AutoLoad {} {}proc className {...}invalid class name "tixClass" missingvalue for "-alias-configspec-classname-default-forcecall-method-readonly-static-superclass-virtualunknown parsePtr->option ":AutoLoad": may not contain substring "::"bad subwidget default format "
    (idle event handler executed by tixWidgetDoWhenIdle)
    (idle event handler executed by tixDoWhenIdle)
    (event handler executed by tixDoWhenMapped)interpreter does not have a main window" must be a window pathname or IDtixTmpLine x1 y1 x2 y2 ?window?#%4x%4x%4xtixWidgetDoWhenIdlecommand window ?arg arg ...?command ?arg arg ...? pathname commandcolorName-nounknownw validOptions argList"."; must be one of "unknown option "window parentACTIVE_BGoptionName#ecececCTL_FONTHelvetica -12 boldDISABLED#a3a3a3HIGHLIGHTBlackINDICATOR#b03060MENU_BG#d9d9d9MENU_FGNORMAL_BGNORMAL_FGSELECT_BG#c3c3c3SELECT_FGTEXT_FGTROUGHTIX_EDITOR_BGTIX_BORDER_WIDTH2TIX_HIGHLIGHT_THICKNESSffffff�?333333�?wrong # of arguments, should be "": must be  -lostslave  -request pathname reqwidth reqheightpathname x y width heightpathnametixGeometry
    (geometry request command executed by tixManageGeometry)8.48.4.3Tixnormalcellrowdisabledtix_versiontix_patchLeveltix_release-bindingtix_priv-debug-fontset-scheme-schemepriorityTixBindingTKtixDebugTixDebugtixFontSetTixFontSetWmDefaulttixSchemeTixSchemetixSchemePriorityTixSchemePriority20tixCallMethodtixChainMethodtixDisplayStyletixDoWhenIdletixDoWhenMappedtixFlushXtixFormtixGeometryRequesttixGet3DBordertixGetDefaulttixGetMethodtixGridtixHandleOptionstixHListtixInputOnlytixManageGeometrytixMapWindowtixMoveResizeWindowtixMwmtixNoteBookFrametixTListtixTmpLinetixUnmapWindowtixWidgetClassinterppreter. Modify tixInit.c at your own risksTix has not been tested for use in a safe invalid object reference ""; invalid class "auto_load tixMethodTabw class methodw method ..." for context "cannot call method "errorInfocannot chain method "no superclass exists for context " {config%sconfigcannot assigned to readonly variable "cannot assigned to static variable " %f %f
    (scrolling command executed by tixTList)�?raisedsunkengrooveridgesolidflatbad relief type "wrong # args: should be " Must be %s
exit.tixsw:tcl_rcFileName<�����,���<�����<���<���<�������<���<���<���<���<���<���<������<���<���<���<���<���<���<���<���<���<���<���<���<���<���<������":  must be flat, groove, raised, ridge, solid or sunken This command does not take any options.cannot find the "image" commandpathname ?arg? ...invalid widget name "" already existswindow name "errorCode::%s::%s:rootw:rootrootCmdCreateRootWidgetInitWidgetRecConstructWidgetSetBindingsunknown display type "bodyimagetext-anchorAnchor-bg-fg-fontFont-gapGap-justifyJustyfy-padxpadXPad-padypadY-wraplengthwrapLengthWrapLength-backgroundWhite-foreground-activebackgroundActiveBackground-activeforegroundactiveForegroundActiveForeground-selectbackgroundselectBackgroundSelectBackground-selectforegroundselectForegroundSelectForeground-disabledbackgrounddisabledBackgroundDisabledBackground-disabledforegrounddisabledForegroundDisabledForeground-bitmapBitmap-image-itemtypeitemTypeItemType-showimageshowImageShowImage-showtextshowTextShowText-styleimageTextStyleImageTextStyle-text-underlineUnderline-1 @�imageStyleImageStyle @�DItem is already associated with styleDItem is not associated with styleCannot delete default item style?option? ?value? ?option value ... ?tixStyleTab style but got Needed Style type mismatch  style" not foundDisplay style "itemtype ?option value ...-refwindow-stylenametixStyle%ddelete?option? arg ?arg ...?textStyle @�can't use  as a window item of can't manage toplevel windowtixWindowItemwindowStyleWindowStyle-widget-window in a window item of the master widget: must be a child @�tixForm grid master ?x_grids y_grids?Wrong # of arguments, should be Grid sizes must be positive integers" is not a tixForm master window(TixForm) Error:Trying to use more than one geometry
          manager for the same master window.
          Giving up after 50 iterations.
" is not managed by the tixForm managertixForm configure slave ?-flag value ...?"in a form: it's a top-level windowWindow "circular dependency.
circular dependency-top-bottom-left-rightUnknown option "can't put "-incheckmasterslave ?-flag value ...?forgetslave ?slave ...?gridmaster ?x_grids y_grids?slave ?-flag?slavesslave side strength�??none{%%%d %d}} {&Malformed attachment value "": it's a top-level windowcan't attach to "-0-padleft-padright-padbottom-padtop-l-r-t-b-lp-rp-tp-bp-leftspring-ls-rightspring-rs-topspring-ts-bottomspring-bs-fillbothbad fill style "Wrong option ""-in " must be the first option given to tixForm": must be none, x, y, or both%s %s %d %d %d %d edit set x ytixGrid:EditCell edit applytixGrid:EditApply", must be apply or set{%f %f} {%f %f}" does not exist,x y ?xbdWidth ybdWidth?x %d %dy %d %dbad state value " pathName ?options?"wrong # args:  should be "TixGridbbox": must be bbox or existsdragsite clearmust be clear, get or set", wrong option "option ?x y?bdtypeoption from ?to?dropsiteentrycgetx y optioneditoption ?args ...?entryconfigureformatgeometryinfo?width height?moveoption from to bynearestoption x1 y1 ?x2 y2?x y ?option value ...?sortunsetxviewargsyviews-marginx-marginy-marginmain-bdborderWidth-borderwidth-cursorCursor-editdonecmdeditDoneCmdEditDoneCmd-editnotifycmdeditNotifyCmdEditNotifyCmd-floatingcolsfloatingColsFloatingCols-floatingrowsfloatingRowsFloatingRows-formatcmdformatCmdFormatCmd-heightHeight10-highlightbackgroundhighlightBackgroundHighlightBackground-highlightcolorhighlightColorHighlightColor-highlightthicknesshighlightThicknessHighlightThickness-leftmarginleftMarginLeftMargin-relief-selectborderwidthselectBorderWidth-selectmodeselectModeSelectModesingle-selectunitselectUnitSelectUnit-sizecmdsizeCmdSizeCmd-state-takefocustakeFocusTakeFocus-topmargintopMarginTopMargin-width-xscrollcommandxScrollCommand-yscrollcommandyScrollCommand
    (format command executed by tixGrid)wrong # of arguments, must be: 
    (scrolling command executed by tixGrid)
    (size command executed by tixGrid)":  must be normal or disabledtixGrid: mappedWindows not NULLx y ?option? ?value? ?option value ... ?dimension start end ?args ...?�^���^���_��_���_���_���_���_��h_���_���_���_���_���^��$@333333�?Grid hash entry leaked: %d : %d
Inconsistent grid dataset: (%d,%d) : %x %xmaxendx1 y1 x2 y2 ...?option? ?arg ...?-bordercolorborderColorBorderColor-filledFilled-xoffXoff-xonXon-yoffYoff-yonYonby the -formatcmd handler of the tixGrid widgetthe "format" command can only be called x1 y1 x2 y2 ?option value ...?%s %s ?option value ...?index ?option value ...?option index ?arg ...?"; must be an integer or "default"�������?selection list is emptyadjustincludestoggle
    (converting list element from string to integer)
    (converting list element from string to real)
    (user-defined comparison command)comparison command returned non-numeric resultcan't invoke the tixGrid sort command recursively": must be ascii, integer or real": must be increasing or decreasing": must be -command, -key, -order or -type", should be row or columnwrong dimension "-typeasciiintegerrealwrong type "-orderincreasingdecreasingwrong order "-key-commandbad screen distance "-size auto%fchar -pad0  -pad1 value missing for option "-size-pad0-pad1"; must be -pad0, -pad1 or -size %g %gwrong # args:	 should be "TixHListTixHListHeaderEntry "Item " set entryPathmust be clear or setchildrenhiddenitementryoffspringssiblings-after-before-atand -at options can be usedparent element "cannot add entry after "cannot add entry before "%s%c%saddchildparentEntryPathoption ?entryPath??option? ?args ...?entryPath optionhideoption entryPathseeoption arg ?arg ...?show-data-browsecmdbrowseCmdBrowseCmd-columnsColumns-dragcmddragCmdDragCmd-drawbranchdrawBranchDrawBranchtrue-dropcmddropCmdDropCmd5-header-indentIndent-indicatorIndicator-indicatorcmdindicatorCmdIndicatorCmdbrowse-separatorSeparator-wideselectionwideSelectionWideSelection
    (scrolling command executed by tixHList)
    (size command executed by tixHList)tixHList: mappedWindows not NULLCannot change the number of columns ": must be anchor, clear, get, includes or set
	   (size command executed by tixHList)exists, hidden, item, next, parent, prev or selection": must be anchor, bbox, children, data, dragsite, dropsite, " must be all, entry, offsprings or siblingswrong # of arguments, should be pathName delete No more than one of the -after, -before entryPath ?option? ?value? ?option value ... ?������P�����P��P��P��P�����P��P��P��P�����Column "-charcolumn ?-char? ?size?entryPath column optioncreateentryPath column" does not have an item at column Cannot delete item at column 0entryPath column ?option? ?value ...?entryPath column ?option value ...?" does not have an indicatorentryPath ?option value ...?entryPath ?option? ?value ...?" does not have a headercolumn ?option? ?value ...?column ?option value ...?headerBorderWidth-headerbackgroundheaderBackgroundheaderRelief�&���&��p'���&��p'��p'��p'��p'���&��p'��p'��p'��p'���&��Unknown tab "gray50 option ?arg arg ...?" name"unknown tab " add name ?options?wrong # args: should be pageidentify identify x y"pagesactivefocusnextfocusprevunknown optionwrong number of arguments or pagecgetpageconfigurepage ?option value ...?bad option "TixNoteBookFramecenter-label-backpagecolorbackPageColorBackPageColor-focuscolorfocusColorFocusColor-inactivebackgroundinactiveBackground-slaveSlave-tabpadxtabPadX6-tabpadytabPadYgeometryinfo, identify, move, pagecget or ":  must be activate, add, configure, delete, verticalhorizontalbad orientation " set indexTList list entry is invaliddownuplist entry "TixTListoption ?index?insertwhere ?option value ...-orientOrient": must be vertical or horizontal
    (size command executed by tixTList)expected non-negative integer but got "": must be anchor, clear, includes or set": must be anchor or selectionindex ?option? ?value? ?option value ... ?|I���H���I���H���I���I���I���I���H���I���I���I���I��tI��Image "")type ?option value? ...spacespace, text or widget cget option"be changed.The -window option cannot itemconfigureunimplementedlineconfigure": must be cget or configure-showbackgroundcompound" can only be assigned to window "
    (while configuring image "no value given for -window option.", must be bitmap, image, line, tried to delete pixmap image when instances still existmust specify one of -data, -file or -id": must be cget, configure or refcount/* XPMFile format errorblackunknown pixmap ID "": couldn't read file "couldn't fseek file "couldn't ftell file "error in reading file "error closing file "refcount" is already definedpixmap "pixmap-file-id":  must be cget or configureTixInputOnly-all-border-resizeh-title-menu-minimize-maximizeunknown decoration " f.send_msg %d
_MOTIF_WM_MENU_MOTIF_WM_MESSAGES _MOTIF_WM_MESSAGES {;}wm protocol  option pathname ?arg ...?" is not a toplevel window._MOTIF_WM_HINTSdecorations-border %d-resizeh %d-title %d-menu %d-minimize %d-maximize %dismwmrunning_MOTIF_WM_INFOprotocoldeactivateWM_TRANSIENT_FORor transientforunknown or ambiguous option "" should be add, activate, deactivate or delete": must be decorations, ismwmrunning, protocol interpreter uses an incompatible stubs mechanismTclTk, actual version  (requested version Error loading missing stub table pointer): ;@
��\l����"���Y�#����#����&��$(��h)���<,��@�0����1����C��J��d�J���lK����K����L���M��\�O���<Q����R��p�U���\W���X��X�Y����Y����Z���Z��4�[����[���l\���]���]��@,_���`���\a���a��(<b��@�b��d|f����f����f���<g���Lg���g���g��0lh��Di��pj����j��\k��Ll����l���Lm��0�m��h�n����o����p�� Lr��p�s���Lu��@�v����w���x��T\y��xz���|z�� |��L �|��| �|��� |~��!<���`!,����!|����!�����!\���("L���l"\����"|����"�����"�����"̆���"���"����",���#L��� #l���4#|���H#���|#�����#\����#܍��T$����|$�����$�����$̐��%̑��L%�����%̓���%����$&����8&����`&ܕ���&����&����'<����'\����'���'<���(l���<(|���P(����d(����x(�����(�����(,����(��X)l����)ܤ���)L����)̦��h*l����*L����*ܩ���*����\+L����+\����+�����+ܬ���+����,,L���x,�����,���|-|����-�����-ܵ���-�����-<���.l���|.̷���.L����.\����.�����.����/��(/\���P/,����/\���0|���(0����H0���0|����0ܾ��41���H1����t1̿���1,����1�����1<���2,��D2����2���2|�� 3���43���H3��h3����3\��4��� 4���44\���4����4L��5���@5���5���5\���5����5\��<6���6����6����6���x7L���7|���7����7����7���48���\8,��p8<���8����8����8|��9���9���49|��\9����9�:,� :l�@:l��:���:L�;��P;l��;,��;��<�<��|<��<l��<���<���<��$=L�X=��=���=l�>���p>L����>�����>L���8?|���L?��`?L��t?����?L���?��@\��@���,@��T@���@����@
��LA�
���A�
���A���4B����B���B���C���TC��hC\��|C����C����C���XD|!���D$���D�'��tE�)���E\*���E�*��$F�,��pF\-���F\.���F�4��xG�6���G�:��H;��,H�;��hH=���H\?��I�?��0I�C���I�G��J,H��0J|H��LJ�I���J,L���J�N��0K�]��<L�^���L�a���L|e��|M�h���M�h���M|i��N�j��TNLk���N�k���N<l���NLm��0O�m��hO�n���O�o��P�q��dP�r���Pt��,Q,u���Qv���Q\v���Q�v��R�v��0R,w��PRlw��xRy���R�z��S\{��<S|��pS|��� T<����T,����T����\U����DV���\V����V̎��W����,W���@Wl����W�����W�����W����X����PXܗ��dX�����X��YL���TY����hY̥��|Y�����Y����Y����Z����\ZL����Z�����Z�����Z���Z\���[����([<���<[����4\ܸ��h\l����\,����\���]<���X]�����]����]����]���^��h^����^���^l���^����^l��4_|���_���_���0`����`���`L��$aL��da����a<���a���Hb����b|��(cl�tc���c<�$dl�8d��`d��d���d��<e|��e���0f����f����fL���g����Pg<����gl���g���h��Hh����hl���h����h���hL��i,
��Xi\���iL���i���j�
��|jL���j|���jl��k��Pk���k<��$l���\l,���l<���l��� m|��xm|���m����m,��nl�� n<��Ln<��tn����n����n\#���o�#���o<$��p\$�� p�$��Xp<&���p<)��ql6��|q�8��r,9��(rl9��<r�9��xrL;���r�<���r�=��4s�=��Hs>��\s|>���s�>���s�B���s�C��$tlD��Xt|E���tJ���t\K��uLL��Du�R���ulT��,vV��xvY���v\[��w�\��Hw<^���w�^���w�_���w�`��8x\d���xe���x�g��y,i��pyj���y�j���ylk���y�m���z�n���z�n���z,o��{�p��0{�q���{r���{|r���{�r���{lt��0|\w���|�w���|�w���|<z��L}|���}}���}|~��P~l���~����~����H,����܈�����$�����\������������l���������Ё|��������T�L�����L�������$�\���@�����T����������<�����l����Ԅ\�������(�����`�̬��t�\��������������D�<���p�L����ܽ��<�L�����������������$�L��L�\��`����|������|��Ȉ����������������������������x�L������$�,��<����|�zRx�$����`FJw�?:*3$"D���P4\���_B�M�H �r
EBHACBL����F�B�B �B(�A0�A8�D��
8A0A(B BBBA@����QB�G�L �A(�K0�G@�
0A(A BBBCH(����B�B�H �H(�D0�C8�D`�
8A0A(B BBBG�tP��+F�B�E �B(�D0�A8�GPX
8D0A(B BBBH�XL`PXBPOXL`SXAP�XL`OXAPt
8Q0F(B BBBE\����F�B�E �E(�D0�A8�G�k�[�K�B��
8A0A(B BBBG `T���HX
Ag
AL����B�E�E �B(�A0�A8�J�
8A0A(B BBBKL��0��lF�B�B �E(�A0�A8�J��
8A0A(B BBBB4$�6���E�A�G �
AAED
AAB\7���D0�
Ax�7��oDg OAs@��7���F�B�B �A(�A0�DP\
0A(A BBBD<��8���V�N�B �D(�D0���(D� B�F�B�HH9���F�B�B �B(�D0�C8�GP
8A0A(B BBBIHh�:���F�B�B �B(�D0�D8�D`$
8A0A(B BBBJx�@<��lF�B�B �B(�D0�A8�GP	
8C0A(B BBBCD
8F0A(B BBBED8I0H(D BBB\04=��+F�G�B �B(�A0�A8�D��
8A0A(B BBBAW�Z�[�A�@�@��{F�B�B �A(�D0�G@�
0A(A BBBC@�@A��QF�B�E �A(�D0�GP
0A(A BBBKX\B���F�B�I �A(�D@l
(F ABBCD
(I HBBGq(A ABBt�B��+E�eD�C���F�D�L �E(�D0�D8�I@s8F0A(B BBB�hC��9HpL��C���F�J�I �B(�D0�K8�D@�
8F0A(B BBBF$D0D��2E�A�G aAA(lHD��jW�A�G GA�A�,��D���R�N�A �z�A�I�4�E��wQ�K�G G
A�A�DDAAHTE���F�B�B �E(�D0�A8�D`
8A0A(B BBBH8L�F���F�B�A �D(�GP�
(A ABBG8�LG��@F�B�A �D(�G`�
(A ABBI �PH��gR�nH�X�F��H��dUt 	�H��gR�nH�X�FH$	@I���F�K�A �A(�GPNXG`XXAP]
(A ABBEp	�L��5Hl�	�L���	�L��S�	@M��	�	<M��E�	xM��/�	�M���(
 N���I�D�I TAAD��H0
�N��F�B�E �B(�D0�D8�Gp�
8A0A(B BBBHL|
XO���F�E�D �D(�G0F
(C ABBHD
(F ABBA<�
�O���F�E�D �D(�GPD
(A ABBD8P���F�E�A �A(�DP�
(A ABBAHH|P���F�Q�A �D(�D0]
(D ABBJu(D ABBX��P���F�Q�D �A(�G0c
(C ABBBL
(C ABBDu(F ABB4�Q��kF�E�D �A(�D0M(D ABB8(LQ���F�B�A �J(�D�h
(A ABBK@d�Q��DF�B�B �D(�D0�MP�
0A(A BBBH4��R���j�A�A �Y
CBF]CBL��S���F�B�E �E(�A0�A8�N�
8A0A(B BBBDH0
�T��B�E�E �E(�K0�G8�DP
8D0A(B BBBE�|
V��}F�B�B �B(�A0�D8�IP_
8N0A(F EBBIUXD`jXDPh
8F0A(B BBBB|8L0H(B BBBTW���F�B�B �B(�D0�D8�GP�XD`jXDPC
8A0A(B BBBEhX\X���F�E�E �B(�D0�D8�GPq
8P0A(B BBBE\XD`jXDPh8F0A(B BBBL��X���F�E�E �B(�A0�A8�G@M
8D0A(B BBBK 0Y���A�GP\
AKL8�Y���Q�B�B �I(�D0�D8�FPw8C0A(B BBBA������4�LZ��_F�E�D �A(�D0A(D ABBH�tZ���F�B�E �B(�D0�A8�GPg
8D0A(B BBBA,�[��rF�G�A �Q
ABF(<\��gF�G�D �PCBhhL\��~F�E�B �E(�D0�D8�D���Y�K�A�o
8A0A(B BBBEt�d�K�A�H�`]���F�E�B �B(�D0�D8�Gp�
8A0A(B BBBDh �_���N�B�E �D(�D0�g8L@O8A0a
(F BBBCE(C BBBB�����H0������X`��O��`��}0�a��YF�A�D �G��
 AABG@�,b���F�B�E �D(�C0�GP�
0A(A BBBF,�c��	@�c��T�c��	h�c��|�c����c���d���d���d���$d���0d��
0,d���F�D�A �D@w
 AABA<�d���8Pe���I�D�E �I
ABB*
FBF���f��xF�B�B �E(�A0�A8�DpxZ�[xApD
8F0A(B BBBAd
8A0A(B BBBBKx`�A�D�Zp$�i���F�B�A �C(�G0@<(j���F�B�E �D(�D0�G��
0A(A BBBB(��j��"E�F�P��
AAD��k��	H��k���F�E�B �E(�D0�A8�G��
8D0A(B BBBAHxl���F�L�J �B(�I0�D8�H`�
8D0A(B BBBA<X�l��.F�E�G �A(�G�
(A ABBAH��m���F�E�G �E(�D0�A8�D@]
8D0A(B BBBF�`n��)$�|n��1E�LE JDD` �n���F�B�H �B(�G0�J8�DPeXF`SXDPBXH`~XAP]
8A0A(B BBBA�o��0L�c�� o��F�E�B �H(�A0�C8�J��
8A0A(B BBBE��M�P�B�g�N�N�A���L�P�B�s�L�T�B�L�L�S�A�L�L�S�A�\xu��p�u��4��u���F�D�D �q
ABFuAB��u��GH�_
IV�v��,E�\
GC�(v��
$v��
$ v��
8v��
Lv��
4`v��eF�A�D �I
ABIAAB|�Lv���F�B�B �B(�A0�D8�G�|
8C0A(B BBBA�
8F0A(B BBBAR
8F0A(B BBBAL�x��vF�B�E �E(�A0�A8�G�"
8A0A(B BBBI$h�z��gH@tHEPKHA@T
A$�{��gH@tHEPKHA@T
Al�L{��uF�E�E �B(�G0�A8�L�B�U�N�B�Y�Y�W�A�p
8A0A(B BBBG(\|���H �
HD�}���4X�~���E�D e
AA\(E0I(A H
AD�����F�E�H �B(�D0�A8�GpTxA�H�H�VxN�F�E�|pmxG�VxApgxG�VxApd
8A0A(B BBBA$8����E�D�L �AAD����X����?Hvp��?L�j\�����F�B�B �B(�A0�D8�G�s�K�Y�A�?
8A0A(B BBBAH�h����F�B�B �B(�D0�D8�D@v8K0C(B BBB$8̃��nE�A�G ]AA�`���JF�B�B �B(�A0�A8�D�u�K�B�A�E�E�N�T�H�H�B�V�Q�F�D�z���G�D�N�N�B�N�f
8A0A(B BBBDP�J�I�B�R�r�K�J�A�G�B�V� <����iE��
Fy
G`ԇ��"E�Y
BA���"A�Y
FA������2E�e
FAd� ���&F�O�A �A(�J8\@J8A0�
(C ABBGL
(C ABBDD
(F CBBG$<��`E�D�L HAAd ���qE�]
F������|���"E�Y
BA����������?L�j$�����nE�A�G ]AA�����F�B�B �B(�A0�A8�D�u�K�B�A�E�E�N�T�H�H�B�V�Q�F�D�Y�H�V�I�F�I�g
8A0A(B BBBA�0���"A�Y
FA�@����L���2E�e
FAd l���&F�O�A �A(�J8\@J8A0�
(C ABBGL
(C ABBDD
(F CBBG4p 4����F�A�A �Y(\0M(F nCBH� ����YF�B�B �B(�D0�D8�D@&8K0C(B BBB� ����2(!̍��sA�D�K0N
AAH4! ���#4H!<���WB�H�A �w
EBGACB8�!d���dF�E�E �D(�H0�}(D BBB�!�����[W,�! ����[�A�H ���D�B�8"���B�A�A �H
ABAO
ABN`@"4���VF�E�B �A(�A0�H@d
0A(A BBBElHAPZHF@y
0F(A BBBE8�"0���TB�B�A �A(�DP>
(A ABBA�"T����"`���#l���IE�q
JHP(#�����R�L�B �A(�A0�T
�(D� B�I�B�IA(A BBBH|#���B�L�G �E(�F0�D8�D`t
8A0A(B BBBJ�#L���qRU�#����L�#����UF�B�B �B(�D0�D8�G�,
8A0A(B BBBGHD$��tF�E�E �E(�D0�A8�G��
8A0A(B BBBC8�$���aF�B�D �N(�D@�
(A ABBD0�$8���yF�H�A �D@\
 AABAP%����?F�B�I �B(�A0�D8�N�	
8A0A(B BBBAT%p���h%l���5Hl�%����?L�j\�%�����F�B�B �B(�A0�D8�G�s�K�Y�A�?
8A0A(B BBBAH�%����F�B�B �B(�D0�D8�D@v8K0C(B BBB$H&|����E�I�D tAAp&��ME���&����F�B�B �B(�A0�A8�D�u�K�B�A�E�E�N�T�H�H�B�V�Q�F�D�Z�W�D�D�B�A�D�N�b
8A0A(B BBBA8'<����E�u
FX'����"A�Y
FAx'�����'ȡ��2E�e
FAD�'���F�N�F �a(D0J(A k
ABHK
ABB$�'P���PE�D�L xAA(x���N0(����D(����SHz
FJd(�%HV
BD<�(����Q�R�I �g
�A�B�JAABD����(p����(|���?L�j$�(�����E�A�G �AA�)���RF�B�B �B(�A0�A8�D�n�K�B�A�E�E�N�T�H�H�B�V�Q�F�D�{��
8A0A(B BBBF�)��%DV
FD�)�����)���2E�e
FA\*$����F�O�B �B(�A0�F8�JH_PJHA@�HcPJHA@Q
8C0A(B BBBD(`*ħ��IF�A�G mD�A�4�*���F�A�A �Y(\0M(F nCBH�*@���YF�B�B �B(�D0�D8�D@&8K0C(B BBB8+T����F�E�D �D(�DP�
(A ABBA8L+ة���F�E�A �D(�DP�
(A ABBA8�+\����F�B�D �D(�DP}
(A ABBI�+�`�+�����B�D�E �B(�E0�A8�DP�
8A0A(B BBBF�
8F0A(B BBBE<,x���0P,����OA�A�G o
AAFKAA�,����!�,����4�,ȭ��!_�A�D |��P ��nAA0�,����\B�A�D �F0�
 AABD@-���F�B�H �D(�D0�L��
0A(A BBBF4\-h����M�G�D �Z
ABKnAB0�-��E�G�L V
CAFXCAd�-\����B�B�B �B(�D0�A8�GpL
8D0A(B BBBK
8A0A(B BBBF0.����6HD.����iB�E�B �E(�A0�D8�L`�
8A0A(B BBBGd�.���F�B�B �B(�A0�A8�Gp�
8A0A(B BBBJF
8D0A(B BBBM�.���#/(���a /����Q44/���mF�A�A �O
DBKAAB(l/����J�I�G WD�A�(�/l����O�N�I �A�A��/��5�/<��5$�/h��eE�I�G FDA00����F�A�C �G@�
 AABK@H0|���F�H�B �A(�A0�J@5
0A(A BBBG|�0���?F�B�B �B(�A0�D8�DPv
8F0A(B BBBFj
8F0A(B BBBG
8C0A(B BBBA41���|M�D�D �d
ABDF
ABGLD1��pJ�H�D �F(�G0m
(F ABBED(C ABBA����\�1 ���B�H�G �D(�G�l�h�J�A�c
(A ABBD��h�J�A�H�1���B�E�E �E(�D0�D8�Gp�
8A0A(B BBBG0@2t��B�J�C �F0j
 AABELt2P���F�B�B �B(�G0�D8�M��
8A0A(B BBBFL�2���!F�B�B �B(�A0�A8�D`�
8A0A(B BBBK3���1(3���18<3���dF�E�E �D(�H0�}(D BBB8x3���F�E�A �G(�O��
(A ABBA`�3���GB�B�B �B(�A0�D8�J�l�D�D�K�Z�k
8A0A(B BBBKH4����B�E�B �B(�D0�D8�G`�
8A0A(B BBBILd4����F�B�E �B(�D0�D8�J��
8A0A(B BBBD|�4���B�B�B �E(�D0�A8�G���N�u�B��
8A0A(B BBBF|�N�i�A���K�f�A�D450��F�E�B �D(�A0�G�B
0A(A BBBE8|5���F�I�D �MXV`PXAPA
 AABD(�5\��E�MHVPPHA@a
AEH�5���B�B�E �E(�D0�H8�D`�
8A0A(B BBBA,06d�yB�A�D �W
DBLP`6���F�H�G �G(�G@C
(A ABBD\HMPVHA@SHdPJHA@��6`��B�I�E �B(�A0�A8�G���T�q�A�`�T�j�B���Q�A�A��
8A0A(B BBBIL87|��F�B�E �B(�D0�A8�J��
8A0A(B BBBFL�7��F�B�B �E(�A0�D8�J�	
8A0A(B BBBG�7��l8�7��A�F�G0[8B@HHDPT0q
AABd(8L�TF�H�H �D(�G0�G@C
0A(A BBBETHJPYHA@SHdPJHA@R
HIPBH�8D�5F�B�B �B(�D0�G8�G`o
8A0A(B BBBI�88���!T�8T����B�B�E �B(�G0�A8�M�k�S�A��
8A0A(B BBBH�H9����F�E�B �B(�A0�D8�DPa
8A0A(B BBBER
8F0A(B BBBGn
8F0A(B BBBCD8F0A(B BBB�9x�����9�Ib�^H�4:(���q��A�A �L�H�B�V ���@D:p���$F�B�B �A(�A0�D@>
0A(A BBBJd�:\���F�E�B �D(�D0�J��
0A(A BBBJ�B�F�A�v�K�H�K��:����F�B�B �B(�A0�A8�G�V
8A0A(B BBBK��T�b�A���Q�Q�A���I�B�D�`�J�S�B�B�U�h�]�O�A�U��
�I�B�B�S��H�F�A�P�s�S�A�J�H�E�E�Q�A�S�W�B�T�;H��F�B�B �B(�A0�A8�D`vhHpQhA`�
8A0A(B BBBKdT<��NF�B�E �B(�D0�L8�G���W�^�A�g
8A0A(B BBBF�
�W�H|�<���uF�B�E �B(�A0�A8�D�p
8A0A(B BBBA��N�f�H���O�Z�A���O�Z�H�H<=���F�B�E �E(�A0�A8�G��
8A0A(B BBBC�=���)E�[0�=����F�D�G �L0~
 AABA8�=\��kF�A�D �D�R
 AABA(>���`B�I�H �IAB8@>����B�B�A �G(�IPk
(A ABBA$|>��ZE�F�D HAAH�>P��F�B�E �I(�D0�A8�Dp�
8A0A(B BBBG4�>��mF�C�C �
EBFOCBH(?L��+F�E�B �B(�D0�D8�F��
8A0A(B BBBH\t?0���H�B�E �D(�A0�r
(F BBBFA
(C BBBFZ(F BBBL�?����F�B�B �B(�A0�A8�D�|
8A0A(B BBBHx$@0!��&F�G�B �E(�D0�A8�S@g
8A0A(B BBBCi
8A0A(B BBBEk
8A0A(F BBBGH�@�!��IF�L�I �E(�D0�A8�Fp�
8A0A(B BBBHT�@�"��F�E�B �B(�I0�D8�Dp^xK�TxAp_
8A0A(B BBBIHDA�#���F�E�E �B(�A0�A8�D��
8A0A(B BBBA�AD$��<L�c
AK�Ad$��<L�c
AK�A�$��DL�f
FK�A�$��<L�c
AK$B�$��7E�A�D iAAL8B�$���F�B�B �B(�A0�A8�D�q
8A0A(B BBBAH�B<&���F�B�B �B(�A0�A8�Dp
8A0A(B BBBK$�B�'��}A�t
KR
Fd0�B(���B�B�A �A(�� ABB�0C�(��QB�D�B �B(�D0�A8�G�=�O�D�D�X�x�H�R�_�Z
8A0A(B BBBI��F�F�I�]�e�b�O�N�P�m�F�F�I�V�l�CT,���B�B�B �B(�A0�D8�DP�XJ`NXAP�
8A0A(B BBBED
8K0H(G BBBL@PD�-���B�E�H �A(�H0�DP�
0A(A BBBA��DP.��[F�J�E �A(�D0�R�Y�O�F�A�D�I�F�F�W�O�P�K�E�A�A�_��
0A(A BBBA�E(0��F�J�B �B(�A0�D8�N�q�i�F�A�l�N�F�F�J���D�Q�B�B�A�Y�S�P�J�D�U�A�V�P�A�L�V�W�A�Z�F�_�B��
8A0A(B BBBGP�F�_�B�F`4��dtoDF�4���F�E�E �H(�A0�DP�
0A(A BBBApdF`5���F�B�E �E(�A0�A8�M��
8A0A(B BBBKo�U�W�A���W�A�B�Z��F�7��%�F�7��LG�7��QF�E�B �B(�D0�A8�D��
8A0A(B BBBCPG�;��%8dG�;���F�B�A �A(�DP|
(A ABBH �G�>��QHj
FH
HHH�G�>���F�B�B �B(�A0�A8�DP�
8A0A(B BBBDHd?��L$Hp?���F�B�B �B(�A0�A8�GpS
8A0A(B BBBFHtH�E��NF�B�E �E(�D0�D8�D`
8A0A(B BBBFP�H�F��[F�B�B �B(�A0�D8�D��
8A0A(B BBBEI�K��1(IL��1<IHL���PI$��
,dIM��Y_�D�D �hABF���8�I@M��dF�E�E �D(�H0�}(D BBBH�ItM���B�E�E �B(�D0�D8�DPz
8A0A(B BBBBHJ(O���B�B�E �B(�D0�A8�DP)
8A0A(B BBBIhJ�R��A|J�R���J�R��$,�JS��cG�D�D �FCBF����J@S��R�J�S��u��J�S���B�H�E �B(�D0�A8�D��M�B�B�N�W
8A0A(B BBBB��M�W�A�L�A�D�D�W���H�A�A�U���E�d�B�_�M�F�A�]���[�e�A�q�J�B�B�N�~�T�_�A�0�K�[���B�D�A �G��
 AABA4(Ll\���A�C�G  
AACD
AAJ,`L�]���F�A�A �T
ABID�LT_���F�B�B �A(�D0�G�
0A(A BBBD<�L�`��B�E�B �D(�A0�L
(D BBBL8M�b��XB�E�E �A(�A0�s(A JBI(TMc��hA�H�K m
GAG(�MDc���F�A�A �}AB�M�d��QE�}
FDX�M�d��
B�B�B �E(�G0�A8�M�o�S�A�-
8A0A(B BBBFH(N�h��zF�B�B �E(�A0�A8�GPl
8D0A(B BBBGtN�l����NLm��AS�g��N�m��98�N�m���F�B�D �F(�J@�
(A ABBAl�N0n��[�E�A �Z
�A�B�JN
�A�B�GK
�A�B�Ja
�A�B�LA
ABDP���8dO�n���J�N�J SAAI��P ��nCAL�O$o���F�D�D �j(N0P(A A
ABEi
FBGAFB��O�o���F�B�E �B(�D0�D8�KP�Xk`JXFPD
8A0A(B BBBE@
8C0A(B BBBD]
8F0A(B BBBD|P�p��YP�CE�H�P,q��2F�B�B �B(�A0�D8�Dp�
8A0A(B BBBF<�P s���B�B�E �D(�D0��
(D BBBKH$Q�s���F�E�B �E(�D0�D8�DP�
8A0A(B BBBHpQDw��;\�LH�x�Qhw���B�E�B �E(�A0�A8�G@�
8A0A(B BBBFm
8D0A(B BBBFd
8C0A(B BBBH�R�x���F�B�B �B(�A0�A8�G@�HZPGHE@zHbPGXI`K@QHKPNXD`M@�HIPTHA@BHBPbHA@KHKPLXA`M@n
8H0A(B BBBO<�R�{���E�D�M C
CACT
CAHDFAH�RL|���F�B�B �B(�A0�D8�Dp�
8A0A(B BBBFL4S�}��2F�B�B �B(�D0�D8�D��
8A0A(B BBBE\�S���F�E�E �B(�D0�D8�D��
8A0A(B BBBF��b�H�K��S���*$�S,���ME�G�G wAA$ TT���ME�G�G wAA@HT|����B�D�F �G0j8B@HHDPP0w
 AABJl�T���F�H�G �D(�F0[
(K DHEJK8O@S8A0D
(A ABBHD
(F ABBAK8N@��TH����F�B�E �L(�A0�D8�DP�
8A0A(B BBBFz
8A0A(B BBBD`
8F0A(B BBBI�
8C0A(B BBBH\�U�����B�E�B �B(�A0�A8�J�B
8A0A(B BBBE�_�Q�A�T�U���F�B�D �D(�D@aH]PIHA@G
(C ABBEp(F ABBPHV|����F�L�G �G(�DHPPFHA@J
(C ABBCp(F ABB$�V����gE�[
HZ
NVH�V@���7B�E�E �E(�D0�D8�DP�
8A0A(B BBBD0W4����F�J�D �P0q
 AABG0DW����/F�J�M �D0�
 AABFHxW����<F�E�B �B(�A0�A8�Jp�
8A0A(B BBBE@�W����WF�N�H �A(�D0�I@�
0A(A BBBDLX�����F�E�B �E(�D0�G8�G�
8A0A(B BBBE XX����E�S t
AC$|X����uE�D�G bAA�X���%�X���%H�X8����F�B�B �E(�A0�A8�J`o
8C0A(B BBBJlY̠��'F�H�H �D(�D0�t
(Z BEBK_
(F GBBHl
(F BBBHD(G TBE(�Y�����E�D�M��
AAE$�YP���oE�D
GQ
GF\�Y�����F�E�G �G(�D0P
(C ABBKD
(F ABBAo
(F ABBF4<Z(����F�D�D �q
PBOlFBtZ����%H�Z�����B�E�H �E(�D0�A8�GP]
8A0A(B BBBI4�ZL����E�G�X }
CAKD
FAEp[����F�E�B �B(�A0�K8�G`hBpBxK�Q`_
8A0A(B BBBBz
8F0A(B BBBG\�[@���0F�R�K �D(�J@RHQPBXA`I@_
(A ABBKtHFPSHA@F
HEPB4�[���fF�Q�K �_(M0R(A AAB$\H���wE�O
DQ
GF(D\����E�Q�T��
AAKlp\����HF�B�B �B(�A0�D8�DP�XK`LXAPS
8F0A(B BBBGK8C0A(B BBBT�\d����V�B�B �A(�A0��
�(A� B�F�B�HX�����H0�����h8]�����F�B�B �B(�A0�A8�G`Th\pFxG�]`zhPpExB�Q`�
8A0A(B BBBC�]������]����%�]���1(�]D����A�A�G �
AAL$^���E�D�D �AA4^����A,H^�����r�A�H �k�H�B�x^̮���F�B�B �B(�A0�A8�G�|�c�p�G�V���N�V�B�Q�K�K�E�E�B�N���A�L�F�Q�S�P�E�y�I�I�A�E�E�S�t�U�B�L�Z�~�H�R�A�S�L�K�G�I�r
8A0A(B BBBF^�Q�D�D�K��_������_���MDr
JD
D�_0���E�Q4�_4���qB�D�D �j
ABIkCBT`|���]B�O�A �D(�G8U@G8A0�
(D ABBKD
(G DBBEXp`�����B�E�E �B(�A0�A8�J�c�S�A� 
8A0A(B BBBEl�`(���-
F�B�B �E(�D0�A8�D�J
8A0A(B BBBDF�J�d�A���`�N�A��<a���tF�E�B �B(�A0�D8�DP�
8A0A(B BBBBP
8F0A(B BBBAn
8F0A(B BBBCD8F0A(B BBB�a���1�a���18�a(��dF�E�E �D(�H0�}(D BBB@8b\��lF�B�B �A(�D0�G��
0A(A BBBK(|b���QA�D�G �
AABH�b����B�E�E �E(�A0�A8�Np�
8A0A(B BBBA�b`��Cc���$ c���VA�k
TA
G@c���TTc��,B�B�B �E(�G0�A8�M�k�S�A��
8A0A(B BBBE4�c���z�A�A ���A�B�o ���0�c����A�J�G k
AAIDAA(d��E�D�J�c
AAHLDd����F�B�B �B(�A0�A8�G�m
8D0A(B BBBI(�d0��GA�D�G �
AAE@�dT���F�E�B �D(�A0�J�j
0A(A BBBB�e��zF�B�B �B(�A0�A8�G�\�Z�Z�F�g�H�E�D�U�Q�O�G�D�I�o
8A0A(B BBBK�E�B�B�s�H�e����B�E�B �H(�K0�A8�Lpc
8A0A(B BBBJH�e8���B�E�E �B(�G0�G8�G`�
8A0A(B BBBH@8f���F�E�E �A(�D0�GP�
0A(A BBBHT|fH�PF�B�E �B(�D0�L8�Dp�xk�JxFpX
8A0A(B BBBE0�f@��F�A�A �GP�
 AABC<g��LB�E�D �D(�J�
(A ABBE0Hg���F�G�D �I�x
 AABA,|g��E�J@]H^PUHC@T
AIH�g��B�E�B �E(�A0�D8�N��
8A0A(B BBBFL�g���F�E�E �B(�D0�D8�D��
8A0A(B BBBE@Hh���B�G�D �G0^8B@HHEPP0~
 AABEH�h8��F�H�B �E(�D0�D8�G��
8A0A(B BBBHT�h��,F�H�H �G(�H0�GPt
0A(A BBBHDXM`VXAPL
XJ`JD0i���F�J�G �D(�MPqXM`TXAPW
(A ABBH(xiL��E�G�D@f
AAH�i����il�F�E�B �B(�A0�D8�DP�
8A0A(B BBBFR
8F0A(B BBBGn
8F0A(B BBBKD8F0A(B BBBDLjh��F�B�B �A(�A0�~8W@P8L0U(A BBB�j��j��>A�t(�j �^A�A�G |
AAIL�jT���ZM�B�B �B(�D0�A8�D@18A�0A�(B� B�B�B�@kd���!E�S0\kx���WE�A�G o
DDLDAA�k����H�k�����F�B�B �A(�D0�K8X@S8A0H
(A BBBK��k4����F�B�B �B(�A0�A8�DP#XQ`DhIpMxD�OPo
8A0A(B BBBDfXD`HXPPk
XM`IhDpDxB�SAXf`AhGp`P�l����$�l����\�l�����B�B�B �B(�A0�A8�G���M�W�A��
8A0A(B BBBALm���F�B�E �E(�A0�C8�G�j
8A0A(B BBBGX\mx����F�E�D �I(�D0Q8_@G8A0[
(D ABBHO
(A ABBKT�m���iF�E�E �D(�I0�G�d�n�G�A�i
0A(A BBBATn$���M�E�E �D(�I0�]8K@G8A0v
(A BBBGN(A BBBDhn����M�E�E �D(�I0�^8y@G8A0H
(A BBBFT�n$���F�E�E �D(�I0�G�d���G�A�s
0A(A BBBK�ol��kF�B�E �B(�A0�A8�GP�
8D0A(B BBBG�
8M0H(B BBBK�
8L0H(G BBBKM
8D0F(B BBBI(�o@���F�A�H ��AB�o���	4�o���B�D�D �y
ABAzAB0p�	���B�D�D �G@t
 AABGlPp��B�B�B �B(�A0�A8�G�k�M�[�A��
8A0A(B BBBHd�M�^�A�|�p����B�E�E �B(�D0�A8�J�N�H�[�B���I�C�B�a
8A0A(B BBBB�I�H�A�L@q���AF�E�B �E(�A0�C8�G�-
8A0A(B BBBDH�q����F�B�E �B(�A0�D8�Dp�
8A0A(B BBBI4�qX��qS�A�G v
D�D�GDAAJ��Dr���LU�B�A �D(�G0�(A� A�B�B�P0����P\r����F�A�A �f
ABG�(F0F(D A
ABAD(J0G(A 0�rT ���F�D�D �G0w
 AABH�r� ��<L�gs!��14s@!��WB�K�F �N(B0S(A \AB�Lsh!��F�E�B �E(�A0�A8�DP]
8F0A(B BBBD�
8A0A(B BBBD\
8A0A(B BBBBd
8F0A(B BBBED
8J0H(G BBBE,�s�"��iR�A�H �B�H�B�d,t#���F�B�B �E(�A0�D8�D`�hEpExB�B�B�M`�
8A0A(B BBBK$�t@%��>E�A�G nAA(�tX%���A�G�G K
AAA4�t�&���A�T@gHFPFXF`FhCpI@j
AE u4'��$l4uP'���F�B�E �E(�A0�A8�G���G�F�A�b�D�J�D�O
8A0A(B BBBI�up)��$H�u�)��)F�B�B �B(�A0�A8�D`m
8A0A(B BBBG(vp*���A�H�G0{
AAC�0v�*��F�B�B �B(�D0�A8�J��
8A0A(B BBBE��A�N�A�?�R�F�F�F�E�I���A�M�A�8�vD6���R�B�A �A(�G0D
(A ABBIX�v�6��aF�E�E �E(�D0�D8�J���I�^�D�_
8A0A(B BBBALXw�7���P�B�B �B(�A0�A8�D`�8A0A(B BBBI�������w,9��vE�x
Cq�w�9��5TK U$�w�9��nH k
EG(\0K(A x�9�� x�9��GE�}<x(:��4Px4:���F�I�G �A(�t
 HBBI�x�:��ME�C�x�:���x�:��/L�bd�x�:���F�H�E �B(�A0�F8�GPpXL`AhDpUPxXA`AhDpQP_8A0A(B BBB0@y�;��oE�A�G M
DAIDAAHty�;��pF�B�D �C(�G0c
(N ABBDY(A ABBt�y�;���F�E�B �B(�A0�D8�J�w�D�B�B�S�f�D�B�B�N�d
8A0A(B BBBF48z<=���F�E�D �D(�D0k(A ABBppz�=���F�B�B �B(�A0�A8�D`nhGpBxG�U8F0C(B BBBJ`D8A0A(B BBB�z�=��<�z�=���F�B�A �D(�D@�
(A ABBKP<{h?��*F�J�B �K(�A0�GP�
0A(A BBBEXXU`OhTpMPGNU�p0�u$��˹ӹܹ����
���"�*�2�
�:�*�D�
�N�X�`�
�j�
�r�X�y�*���������j�s���}�L�R�?�D���������:Fh��
�pu$xu$���o((#�	
�y$x`�88(�	���o���o�7���o�o�5���o�w$� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p���������������� �0�@�P�`�p���������������� �0�@�P�`�p���������������� �0�@�P�`�p���������������� �0�@�P�`�p���������������� �0�@�P�`�p���������������� �0�@�P�`�p���������������� �0�@�P�`�p���������������� �0�@�P�`�p���������������� �0�@�P�M�E`Dif {[info proc tixInit]==""} {
  proc tixInit {} {
    global tix_library tix_version tix_patchLevel
    rename tixInit {}
    tcl_findLibrary Tix $tix_patchLevel $tix_patchLevel Init.tcl TIX_LIBRARY tix_library
  }
}
tixInit��&�1���4�=�h��F�Q�\��f�p�\��z����� �������μܼ������ �.�;�C�T�]�j�|�����������ɽؽ�������pp�����0��@���@�Н�P�Д�����$ �$
)�*�1����8���<���@�A�F�ܹ@K�L�P���HT�U�]�M�<e�k�p����t�z�p���������h�8������*�����������������
��������
��������*��������
�������
�����������(�9�X���(�9�
��J�\�m�
��J�\�m����~�����*�~�������������
�������
�������*�8��=�*�H����$�/�9����C�M�V����_�f�u�*�0����Z�*�`����������`�����@�P��P�p������p�`�$��$
)�*�1����8���<���e�k�p�h��t�z�p�h��������*�����������������
��������
��������*��������
�������
�����������(�9�X���(�9�
��J�\�m�
��J�\�m����~�����*�~�������������
�������
���=�*�8����_�����*�0�����ЦA�����@�������������E���*�����L���������������p������P�P�@�$��$
)�*�1����8���<���@�A�F�ܹ@T�U�]�M�<e�k�p����t�z�p���������h�8������*�����������������
��������
��������˹�������
�������
�����������(�9�X���(�9�
��J�\�m�
��J�\�m����~�����*�~�������������
�������
������_�c�z�*�0����Z�*�8��������L@����������N���`��� �p���� �p�����@��$ �$
)�*�1����8���<���e�k�p�h��t�z�p�h��������*�����������������
��������
��������˹�������
�������
�����������(�9�X���(�9�
��J�\�m�
��J�\�m����~�������~�������������
�������
����N�_�����*�0����N���*�8����z���������@���������������������������������@�������G���������������������������������L�����������*��F���������������A�����@������/������E�P���������F���������F��������P������p	�����)������#������8����������?��L�����G����� 4��������������[��`�����r����������z�����J�����%��������������������������������P��������pM��������pM��������*�X��������X����8�����������0����*����'�*��3�B�P�*��<���^�l�y�h�<������h�8@�A�F�ܹ�������
�P������
�P������*���=�����,�����*�@�������@�,�;�
���,�;�
��J�^�q������������0�����He�k�p����t�z�p����	�����Ͽ8�(���˹H�(���
�H������h�4J�\���
�`J�\�����`�����������������'�/�*�7���h>�I�S���]�h�r���4|�}�����(������*�h������*������L�����]����� k�������������m��������
)�*�1��@������*� ������*� ������
�������
�����8�����������(������h�D	�����Ͽ,�(���˹�(���
������h�4��
���0���h�<�����8������*�������������8����������� ������h�8	�����Ͽ$�(���˹�(���
������h�,��
���(���h�4�����0����������t������~�����t������������8�w��������w������?��v������J�w������H�w������������O������T�����������������*���������@�A�����~�����#�����@�������������E�����������������������������7�����)�������������?� �L����������������H���M�����^�����#�����/����������G������������r���������^���T�������@�b�����w�`�M�������p������������������*�`��������`����8�����������8������*�����������N�L���*�(����*��������*����������������*��<���@�A�F�ܹp������
�X������
�XK�L�P���
����h����=�����4�����*�H�������H�,�;�
���,�;�
��J�^�q���������D$�/�/�h�X9�G�T�*��������e�k�p����t�z�p����	�����Ͽ@�(���X�P�(���
�P������h�<J�\���
�hJ�\�����h������a��h�i�s�����'�/�*��>�I�S����}��������|�}�����0������*�x������*�p����L�|�*�h7���`����}��?��������������U�����@�������������m�����`�������E�0�t���������t��������������7�����@����� �X�����m�����@�9�����E���T�������@�T�������P�T������������0�_�����@������������m������������E�`�~���������~������� �~�������������������4������*�(��������(	�����ȿ0
)�� ��*�X�*�PT�f�8m�*�(7�������@�h�<������*�0��������0t�����*�Ht�������H����8�����������,����*����������x������*�x<���������
�8������
�8@�A�F�ܹh������
�p������
�p������*�@��������@	�����ȿX��������d����p��\��p���`>�I�S����|�}����� ����������A������*�A������� !A�����@������R������E�R��������A�������A������� Q7�����)������O������?��!L�������0F������G������H�����������M�����r�P3������^��FT�������>b�������`,��������`,������L�7���������*�X��������X����8��������*�@�������@��������0������*� N�L���*�����*��<���@�A�F�ܹ�������
�P������
�P��=�����,�,�;�
���,�;�
��J�^�q���������h�� ��0e�k�p����t�z�p����	�����Ͽ8�(���X�H�(���
�H������h�4J�\���
�`J�\�����`������a��7�����'�/�*�(>�I�S���X|�}�����(������*�x������*��
)��<���@�*�H������*�@T�M�4e�h� t�h�$��*�(����<�h�8��h�|�h�
)���0e�h� t�h�$
)��������*�88�����*�(<���������*�0e�h� t�h�$
)��(e�h� t�h�$������*�P��������P����8�������h�H<���@�A�F�ܹ`������
�h������
�he�h�0t�h�4	���X�h�x�� '�0b�U`\�V�Y�`�@��p� p|� "�(�(����i����*�(��=���h�$|�}���h� GA$3a1�
�
GA$3a1����GA$3a1��GA$3a1�
y
GA$3p864��1GA$gcc 8.2.1 20180905
GA*GOW*EGA*GA+stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864�
�

GA$3h864�
�

GA$3p8642�AGA$gcc 8.2.1 20180905
GA*GOW*EGA*GA+stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864�
�

GA$3h864�
�

GA$3p864�A�AGA$gcc 8.2.1 20180905
GA*GOW*EGA*GA+stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864�
�

GA$3h864�
�

GA$3p864�A�CGA$gcc 8.2.1 20180905
GA*GOW*EGA*GA+stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864�
�

GA$3h864�
�

GA$3p864�C�JGA$gcc 8.2.1 20180905
GA*GOW*EGA*GA+stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864�
�

GA$3h864�
�

GA$3p864�J�NGA$gcc 8.2.1 20180905
GA*GOW*EGA*GA+stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864�
�

GA$3h864�
�

GA$3p864�NJSGA$gcc 8.2.1 20180905
GA*GOW*EGA*GA+stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864�
�

GA$3h864�
�

GA$3p864PSt`GA$gcc 8.2.1 20180905
GA*GOW*EGA*GA+stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864�
�

GA$3h864�
�

GA$3p864�`jGA$gcc 8.2.1 20180905
GA*GOW*EGA*GA+stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864�
�

GA$3h864�
�

GA$3p864 j1nGA$gcc 8.2.1 20180905
GA*GOW*EGA*GA+stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864�
�

GA$3h864�
�

GA$3p864@nYoGA$gcc 8.2.1 20180905
GA*GOW*EGA*GA+stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864�
�

GA$3h864�
�

GA$3p864`o~GA$gcc 8.2.1 20180905
GA*GOW*EGA*GA+stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864�
�

GA$3h864�
�

GA$3p864~�GA$gcc 8.2.1 20180905
GA*GOW*EGA*GA+stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864�
�

GA$3h864�
�

GA$3p864���GA$gcc 8.2.1 20180905
GA*GOW*EGA*GA+stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864�
�

GA$3h864�
�

GA$3p864��V�GA$gcc 8.2.1 20180905
GA*GOW*EGA*GA+stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864�
�

GA$3h864�
�

GA$3p864`�ɦGA$gcc 8.2.1 20180905
GA*GOW*EGA*GA+stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864�
�

GA$3h864�
�

GA$3p864��GA$gcc 8.2.1 20180905
GA*GOW*EGA*GA+stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864�
�

GA$3h864�
�

GA$3p864�{�GA$gcc 8.2.1 20180905
GA*GOW*EGA*GA+stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864�
�

GA$3h864�
�

GA$3p864����GA$gcc 8.2.1 20180905
GA*GOW*EGA*GA+stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864�
�

GA$3h864�
�

GA$3p864����GA$gcc 8.2.1 20180905
GA*GOW*EGA*GA+stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864�
�

GA$3h864�
�

GA$3p864���GA$gcc 8.2.1 20180905
GA*GOW*EGA*GA+stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864�
�

GA$3h864�
�

GA$3p864��RGA$gcc 8.2.1 20180905
GA*GOW*EGA*GA+stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864�
�

GA$3h864�
�

GA$3p864�R�bGA$gcc 8.2.1 20180905
GA*GOW*EGA*GA+stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864�
�

GA$3h864�
�

GA$3p864�b�sGA$gcc 8.2.1 20180905
GA*GOW*EGA*GA+stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864�
�

GA$3h864�
�

GA$3p864t�vGA$gcc 8.2.1 20180905
GA*GOW*EGA*GA+stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864�
�

GA$3h864�
�

GA$3p864�v�{GA$gcc 8.2.1 20180905
GA*GOW*EGA*GA+stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864�
�

GA$3h864�
�

GA$3p864�{��GA$gcc 8.2.1 20180905
GA*GOW*EGA*GA+stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864�
�

GA$3h864�
�

GA$3p864��;�GA$gcc 8.2.1 20180905
GA*GOW*EGA*GA+stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864�
�

GA$3h864�
�

GA$3p864@�7�GA$gcc 8.2.1 20180905
GA*GOW*EGA*GA+stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864�
�

GA$3h864�
�

GA$3p864@�5�GA$gcc 8.2.1 20180905
GA*GOW*EGA*GA+stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864�
�

GA$3h864�
�

GA$3p864@�e�GA$gcc 8.2.1 20180905
GA*GOW*EGA*GA+stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864�
�

GA$3h864�
�

GA$3p864p�GA$gcc 8.2.1 20180905
GA*GOW*EGA*GA+stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864�
�

GA$3h864�
�

GA$3p864 � GA$gcc 8.2.1 20180905
GA*GOW*EGA*GA+stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864�
�

GA$3h864�
�

GA$3p864� �UGA$gcc 8.2.1 20180905
GA*GOW*EGA*GA+stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864�
�

GA$3h864�
�

GA$3p864�UpGA$gcc 8.2.1 20180905
GA*GOW*EGA*GA+stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864�
�

GA$3h864�
�

GA$3p864 p�GA$gcc 8.2.1 20180905
GA*GOW*EGA*GA+stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864�
�

GA$3h864�
�

GA$3p864��GA$gcc 8.2.1 20180905
GA*GOW*EGA*GA+stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864�
�

GA$3h864�
�

GA$3p864�ͥGA$gcc 8.2.1 20180905
GA*GOW*EGA*GA+stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864�
�

GA$3h864�
�

GA$3p864ХܫGA$gcc 8.2.1 20180905
GA*GOW*EGA*GA+stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864�
�

GA$3h864�
�

GA$3p864��GA$gcc 8.2.1 20180905
GA*GOW*EGA*GA+stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864�
�

GA$3h864�
�

GA$3p864��GA$gcc 8.2.1 20180905
GA*GOW*EGA*GA+stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864�
�

GA$3h864�
�

GA$3p864 �޲GA$gcc 8.2.1 20180905
GA*GOW*EGA*GA+stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864�
�

GA$3h864�
�

GA$3p864�
�GA$gcc 8.2.1 20180905
GA*GOW*EGA*GA+stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864�
�

GA$3h864�
�
GA$3a1
�
�GA$3a1
�
�GA$3a1����GA$3a1��libTix.so-8.4.3-23.el8.x86_64.debug�6��7zXZ�ִF!t/��Z�]?�E�h=��ڊ�2N���آ�UU�*��s���:�U�L��],�S����`A\�&A�Qn_�l�^��!�1���d2Aߣ9Ii������ȸ�'\l�*���������2_�j���$ɻF=���p���`�z�V�k��͑"�Y8����5Rm��^���jq�4��d}F��z}�Oh*����J_���yk?{,��^%V»�^m�]+�{�l+�0��X�3+��hE�EN���-�NtT�N�2%�d�=�
"~��)�h+���̍�L�b��w��>�qkN��7�-w�>i%o/��y�kjV�~�cxl	p����b�*t��e��O�?^�k|��k�ʄ�t�Y��h�#�4�dT@_̚ ��%���(zF,��,跲f��ܟͅ�"��KM\K[�g�]-—�%��DrbX�\0^��9�����,�W��"�Q&�Ē��N�P�=Ѣ�y��q���^��E�G�Q>��q�I���R�&������'G+�ES���۔N�"�{��(�[���;Rڧ���
��UiV��_����
x�"UeCo*��j�	������ь׉jl�W�#�ȧ��5���.e/�ʥl�d��s<����7�jP������k�V_��T���+U�\ix:��jQ�jk�D���t��0&��L���B�.�F���G]�sJ��[Y�9|��Xr��Wl?�BJ��:�*<
�]A�b@�ڊ�m�:i1ˢL��߄�1��g�_-���:;S&AGl!�^Μ�vFg�]�kO���iE���ee�`2�ϕ�ٔ�c���8}s�uI� vng�Ϯ
j�1�Cd�^�FeU�k����Z*� }�����o���U�ƓJ��I_�P�\���CU�(�>syj�)�:Y�:�X>�V[Wk��RX|�L�E����J���C�2)EE���?��a]Z%��4�X�Ũ��	c����	�U�lG:�bLvS�v��"�
#UP����ʢC/��p��J��W�Ex�y��@��	�e�]���`�wa�ć'ZQ�*1U�41��㟭6n����=6�Q^�`m@��}��,BH��������Օ��t%9ҳ�{]u���ss̝+�_"o�;e~��)��eH�^�k���[~Ԧ��/�.qz#4�)�G�{�e��@��BjѪ*�Kv��1����k+c�$LRY��E��1�	NK P�^Vx��D��& �����0�I�����j�4�{�x8�U�����|��o^�E�`eXM��42u�*V�'��|]~��|��t��
8(��~�С|`��D��:�4@l͛�}��x��Ĉ���\n2X���9Y���T�_a��|Pi�#�W�;M��:����z�$�˼jo�)��W���Iu�[^�27�Y[ �$R��A���la��� H��߱�jĤ`�qw�����M	eܸl�
�����>���Q|�⪵y�䭆z�S~ƒX�#�'�5��4~xPޤ�L�:HP�"�*׈_���G��0��)H

;��7�ˁ	�빞��M ���s�!/�>�=��e�)*� �F�d���pRm����_�o��E}�^d�"ݩ��.Ծ����"인H	��A�Gj����Х	����1Xw2����@��I��6�Ll&��
k�X��vT{����Z�'�`Z�gw莩��M��/�����^���4���p�o
��Y�$�"��1!4<?�]R��,�G���ʫ;K�CT[�.+ �g�Oy7����@��'���I�Do���;�6.��t��o /7�R,38OTu�vn�dV�XC��Aq��o�r9Zo433�,��\�4��C���Kc�*B�!��1u؋R�M����~�^��Pf5C�)늋�e*�7��M+��	��r��験�A	�.���ޟ��SDU�o���,�f'�C�%�5߅F$���4�T����6��>Yz��(�Q��<&Ёд���
;�m�OO�hw
��<�&�0ܐ��Zq���CH���CTu�weY�}}1��
a�w܅���Pm��Dl�SqMn�����V��%w�0R/��g�F���4F�#R���Gz�����vj.{a���^�^�]�z�G�}�n��i���<�q�j�Ճh��8빧H���)��]#Yӵ�ץОX�����+�O�)8ł�EEd;�+��I��A
���=�?#��X��\�<sqDV�G]�	�g9_yr.��?����B>
����졀�ч��0}ߴ{�f0��	�B�+�ڱ[I1�&n�l��5�w��k�z.��ܢi��f�Fe�6o�GJ���{��0
�/Y�D
g�<��
bIʸK3^�p>y����	Q�K�Z���"��e�}��H5zG~ȳ�D��&�B����
�g�5r��8y�$��	��䮍�_�no��K����=�K,����	߭<Z!p�ӲH�Z�NTu�;iEMf�W�u�8z�!~�i���.z��a�u�z#3�L���.nd
�sӊ�����nǞ��`7��b?�@4]i�Ղ�Wb�$���RD�0>�\CcvHRn�	{����f�rqTZ��Q~bk�zs�-�gUX�F��L���d�=`-���FzpB�Є*&�Ŀ�>��
�|��{%�����<צ�pzE`�;,�#�AD�z$
�0��†�6&��e‘�Pj�~���&�i�0�P9'�?� �Fֺ���.`����;^�k���S�~oh�Y�sK��%��w�rPq+n�!�o��+A��=��e<��mY�|��SjQ烰͚=�'.
;�os��jx_!mr�9��I���0�
��@eQ�ޯ'"�bmV�#������h�\M��q�(�	a����0M�d?�Lu�U�辐��N�,���6k�9�ch��y��V��;�;�3\4@q>?2eXV!�'n�y*m,KQ��<h�sb'���7|n�a[{�u��Gʰ7�V�����߽*wwj�(5��:q�Β�<�V�j�x��zX�����y
#N���#a�.B!�?vQ����6�.�>z����,��]\A}$����2�Y.��f+�N��U���aX�U��>U�VD�g^ȁ�_���
ϧs*��C��ÿ�r�I�u��>t:̣�,,�o��S&�O�4�Z0X
�E�������^��B�:�_�l���n���q��穘b[�7��<�3y�eH�I��J���0΂�v~�u���c
j����Q�1��\%jj���m)G�T��O7z��r4WW�RS��xO���/[d�R�
@�*<i�Nc�ߑ��@W,�o���0�����:�œ���0�=�6��5t��4�g�@b�>�X#��'�t���ʨ�Teo43-�D�&G�e�c�,�C�}'�
�E���I��q�}�|���}<
�]�O�y�ͦxC7vRZ��Ia���!#��[SÉ���ۼ:/n�G뵳��ia�{tW]�g�VS�=$�i�����n/��c�s-ouI�_���m�)� ��
s�>��k���-j���)�3��%(�&���o���3�<Y�0��$�~��v���:"*^pNep�%��P�^{���(@"�Y��З�W�i8G@�t��c]{���t�Kʕw��N�#�s�h�Oo=%���=�K�^ק�b[j���E��H�jT�,�\/\���G�gV��)��J����+���Z�AG�4]k��v�����W{q�V@~r�����׻��e3�n]Ql���m����b#^?���;ҕ���1�H�0$֡�O4��c�
I�����E@f��y�d}8h��I�=�8i�Nװ,��1���uu&���QN
�k�0���ŪG �4���-w��l��	�-����P���@;��p��OO[�����&BA�|��Q݈�뇐���+����N�1B����7�D�p�m�<DP0���c�CN�K��?i(6d|�.�)��>t���{�'T8��jZ7�G�';S����_=���c�HM��sX�p �H �!X�U[��)��
�rȇBA������04ة����L�}?QG�{��r&o�f�o���1	1qC��t�o��P"(��J]�U=?"��v�
0�I�,�;�1*(�ks�M��cI�:c���F���-�I1�=*��o>��:�"�Dz����I!��]�U���D��X-�L��t$힔�WS�<�Bv#�M�|q=Ζ��e (
B�R��t��n2L-���V!�U�{�[OT0hp�e�:h�����m������IdB/�fίg%I�)�o�H��K!!��+"�Q34�Y�\���<^�Ga�ǹ�&��5�Բ�L����Ÿ:n"�h�)����~c�����I�T-��+��o��嬖-/����M�n�ޜN��%����`b4�]h8���f$��G����*bkYc��}/��;� 7B���+��)=�AhWEn��z=ȴI�•c}Ъ����\=��rV���t��j�w䬴2��m6�B|�[�q��[yN*��Nq������o�S���ia��c�O͍�άQ�b�+�D7 ��߆�%R�?��}A'�ff�^N^Dd�V⹞�|М!��#
�C��<��LA�i�������IYp�={����Xi���^T�
X�	}���a��/I*�PJ�ϗ���:�t	�,葎ؿ'6�;ؚ�W�,!��b�QϺ*&q��Ԩ��@"����惼`�.�uY|�C5�>�4kdذ[�sqɅ����ҫT��n����A6]Z�Ѷ`&�����9,A]�v�˒>����a�I�Z!�h���^�К��\�T���ӷt��E���d�bӀ�?�Gx��N˗C�z7'��1`����	�H5�>
p�Q�\�8,��z�a����퇟��@}�	�[�p�
Y|���l��9��k�Y6Y�u�͕%:�H��V��x�cAײ��ɖ����\ ��
��	�T�)[�����Ѩ��L�\�o�:\`�,𡑉��V��
��X��X�V���-������k�𣓛o4o&�p�3��w����̭h���)����$!��g�YZ.shstrtab.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.note.gnu.property.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.gnu.build.attributes.gnu_debuglink.gnu_debugdata$���o((�(�	�	h0(#(#�8���o�5�5E���o�7�7PT8888(�^B`�`�xh����c��`n`�`�Pw�
�
Z�}��
� � ��2�����D�8�8��{��s�s �pu$pu�xu$xu��u$�u� �w$w�y$y��$� p � �$ �� ��d ��G
�7(�7��L(PKqm�[.˓v��Tix8.4.3/FileEnt.tclnu�[���# -*- mode: TCL; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*-
#
#	$Id: FileEnt.tcl,v 1.7 2004/03/28 02:44:57 hobbs Exp $
#
# FileEnt.tcl --
#
# 	TixFileEntry Widget: an entry box for entering filenames.
#
# Copyright (c) 1993-1999 Ioi Kim Lam.
# Copyright (c) 2000-2001 Tix Project Group.
# Copyright (c) 2004 ActiveState
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#

tixWidgetClass tixFileEntry {
    -classname TixFileEntry
    -superclass tixLabelWidget
    -method {
	invoke filedialog update
    }
    -flag {
	-activatecmd -command -dialogtype -disablecallback -disabledforeground
	-filebitmap -selectmode -state -validatecmd -value -variable
    }
    -forcecall {
	-variable
    }
    -static {
	-filebitmap
    }
    -configspec {
	{-activatecmd activateCmd ActivateCmd ""}
	{-command command Command ""}
	{-dialogtype dialogType DialogType ""}
	{-disablecallback disableCallback DisableCallback 0 tixVerifyBoolean}
	{-disabledforeground disabledForeground DisabledForeground #303030}
	{-filebitmap fileBitmap FileBitmap ""}
	{-selectmode selectMode SelectMode normal}
	{-state state State normal}
	{-validatecmd validateCmd ValidateCmd ""}
	{-value value Value ""}
	{-variable variable Variable ""}
    }
    -default {
	{*frame.borderWidth		2}
	{*frame.relief			sunken}
	{*Button.highlightThickness	0}
	{*Entry.highlightThickness	0}
	{*Entry.borderWidth 		0}
    }
}

proc tixFileEntry:InitWidgetRec {w} {
    upvar #0 $w data

    tixChainMethod $w InitWidgetRec
    set data(varInited)	  0

    if {$data(-filebitmap) eq ""} {
	set data(-filebitmap) [tix getbitmap openfile]
    }
}

proc tixFileEntry:ConstructFramedWidget {w frame} {
    upvar #0 $w data

    tixChainMethod $w ConstructFramedWidget $frame

    set data(w:entry)  [entry  $frame.entry]
    set data(w:button) [button $frame.button -bitmap $data(-filebitmap) \
			    -takefocus 0]
    set data(entryfg) [$data(w:entry) cget -fg]

    pack $data(w:button) -side right -fill both
    pack $data(w:entry)  -side left  -expand yes -fill both
}

proc tixFileEntry:SetBindings {w} {
    upvar #0 $w data

    tixChainMethod $w SetBindings

    $data(w:button) config -command [list tixFileEntry:OpenFile $w]
    tixSetMegaWidget $data(w:entry) $w

    # If user press <return>, verify the value and call the -command
    #
    bind $data(w:entry) <Return> [list tixFileEntry:invoke $w]
    bind $data(w:entry) <KeyPress> {
	if {[set [tixGetMegaWidget %W](-selectmode)] eq "immediate"} {
	    tixFileEntry:invoke [tixGetMegaWidget %W]
	}
    }
    bind $data(w:entry) <FocusOut>  {
        if {"%d" eq "NotifyNonlinear" || "%d" eq "NotifyNonlinearVirtual"} {
	    tixFileEntry:invoke [tixGetMegaWidget %W]
        }
    }
    bind $w <FocusIn> [list focus $data(w:entry)]
}

#----------------------------------------------------------------------
#                           CONFIG OPTIONS
#----------------------------------------------------------------------
proc tixFileEntry:config-state {w value} {
    upvar #0 $w data

    if {$value eq "normal"} {
	$data(w:button) config -state $value
	$data(w:entry)  config -state $value -fg $data(entryfg)
	catch {$data(w:label)  config -fg $data(entryfg)}
    } else {
	$data(w:button) config -state $value
	$data(w:entry)  config -state $value -fg $data(-disabledforeground)
	catch {$data(w:label)  config -fg $data(-disabledforeground)}
    }

    return ""
}

proc tixFileEntry:config-value {w value} {
    tixFileEntry:SetValue $w $value
}

proc tixFileEntry:config-variable {w arg} {
    upvar #0 $w data

    if {[tixVariable:ConfigVariable $w $arg]} {
       # The value of data(-value) is changed if tixVariable:ConfigVariable 
       # returns true
       tixFileEntry:SetValue $w $data(-value)
    }
    catch {
	unset data(varInited)
    }
    set data(-variable) $arg
}

#----------------------------------------------------------------------
#                         User Commands
#----------------------------------------------------------------------
proc tixFileEntry:invoke {w} {
    upvar #0 $w data

    if {![catch {$data(w:entry) index sel.first}]} {
	# THIS ENTRY OWNS SELECTION --> TURN IT OFF
	#
	$data(w:entry) select from end
	$data(w:entry) select to   end
    }

    tixFileEntry:SetValue $w [$data(w:entry) get]
}

proc tixFileEntry:filedialog {w args} {
    upvar #0 $w data

    if {[llength $args]} {
	return [eval [tix filedialog $data(-dialogtype)] $args]
    } else {
	return [tix filedialog $data(-dialogtype)]
    }
}

proc tixFileEntry:update {w} {
    upvar #0 $w data

    if {[$data(w:entry) get] ne $data(-value)} {
	tixFileEntry:invoke $w
    }
}
#----------------------------------------------------------------------
#                       Internal Commands
#----------------------------------------------------------------------
proc tixFileEntry:OpenFile {w} {
     upvar #0 $w data

     if {$data(-activatecmd) != ""} {
	 uplevel #0 $data(-activatecmd)
     }

     switch -- $data(-dialogtype) tk_chooseDirectory {
	 set args [list -parent [winfo toplevel $w]]
	 if {[set initial $data(-value)] != ""} {
	     lappend args -initialdir $data(value)
	 }
	 set retval [eval [linsert $args 0 tk_chooseDirectory]]

	 if {$retval != ""} {tixFileEntry:SetValue $w [tixFSNative $retval]}
     } tk_getOpenFile - tk_getSaveFile {
	 set args [list -parent [winfo toplevel $w]]

	 if {[set initial [$data(w:entry) get]] != ""} {
	     switch -glob -- $initial *.py {
		 set types [list {"Python Files" {.py .pyw}} {"All Files" *}]
	     } *.txt {
		 set types [list {"Text Files" .txt} {"All Files" *}]
	     } *.tcl {
		 set types [list {"Tcl Files" .tcl} {"All Files" *}]
	     } * - default {
		 set types [list {"All Files" *}]
	     }
	     if {[file isfile $initial]} {
		 lappend args -initialdir [file dir $initial] \
			 -initialfile $initial
	     } elseif {[file isdir $initial]} {
		 lappend args -initialdir $initial
	     }
	 } else {
	     set types [list {"All Files" *}]
	 }
	 lappend args -filetypes $types

	 set retval [eval $data(-dialogtype) $args]
	 if {$retval != ""} {tixFileEntry:SetValue $w [tixFSNative $retval]}
     } default {
	 set filedlg [tix filedialog $data(-dialogtype)]

	 $filedlg config -parent [winfo toplevel $w] \
		 -command [list tixFileEntry:FileDlgCallback $w]

	 focus $data(w:entry)

	 $filedlg popup
     }
}

proc tixFileEntry:FileDlgCallback {w args} {
    set filename [tixEvent flag V]

    tixFileEntry:SetValue $w $filename
}

proc tixFileEntry:SetValue {w value} {
    upvar #0 $w data

    if {[llength $data(-validatecmd)]} {
	set value [tixEvalCmdBinding $w $data(-validatecmd) "" $value]
    }

    if {$data(-state) eq "normal"} {
	$data(w:entry) delete 0 end
	$data(w:entry) insert 0 $value
	$data(w:entry) xview end
    }

    set data(-value) $value

    tixVariable:UpdateVariable $w

    if {[llength $data(-command)] && !$data(-disablecallback)} {
	if {![info exists data(varInited)]} {
	    set bind(specs) ""
	    tixEvalCmdBinding $w $data(-command) bind $value
	}
    }
}

proc tixFileEntry:Destructor {w} {
    upvar #0 $w data

    tixUnsetMegaWidget $data(w:entry)
    tixVariable:DeleteVariable $w

    # Chain this to the superclass
    #
    tixChainMethod $w Destructor
}
PKqm�[���Tix8.4.3/DirList.tclnu�[���# -*- mode: TCL; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*-
#
#	$Id: DirList.tcl,v 1.5 2004/03/28 02:44:57 hobbs Exp $
#
# DirList.tcl --
#
#	Implements the tixDirList widget.
#
# 	   - overrides the -browsecmd and -command options of the
#	     HList subwidget
#
# Copyright (c) 1993-1999 Ioi Kim Lam.
# Copyright (c) 2000-2001 Tix Project Group.
# Copyright (c) 2004 ActiveState
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#

tixWidgetClass tixDirList {
    -classname TixDirList
    -superclass tixScrolledHList
    -method {
	chdir
    }
    -flag {
	 -browsecmd -command -dircmd -disablecallback 
	 -root -rootname -showhidden -value
    }
    -configspec {
	{-browsecmd browseCmd BrowseCmd ""}
	{-command command Command ""}
	{-dircmd dirCmd DirCmd ""}
	{-disablecallback disableCallback DisableCallback 0 tixVerifyBoolean}
	{-root root Root ""}
	{-rootname rootName RootName ""}
	{-showhidden showHidden ShowHidden 0 tixVerifyBoolean}
	{-value value Value ""}
    }
    -default {
	{.scrollbar			auto}
	{*borderWidth			1}
	{*hlist.background		#c3c3c3}
	{*hlist.indent			7}
	{*hlist.relief			sunken}
	{*hlist.height			10}
	{*hlist.width			20}
	{*hlist.padX			2}
	{*hlist.padY			0}
	{*hlist.wideSelection		0}
	{*hlist.drawBranch		0}
	{*hlist.highlightBackground	#d9d9d9}
	{*hlist.itemType		imagetext}
	{*hlist.takeFocus		1}
    }
    -forcecall {
	-value
    }
}

# Important data members:
#
# data(vpath)
#	The currently selected vpath. This internal variable is useful on
#	the Win95 platform, where an directory may correspond to more than
#	one node in the hierarchy. For example, C:\Windows\Desktop\Foo
#	can appead as "Desktop\Foo" and
#	"Desktop\My Computer\C:\Windows\Desktop\Foo". This variable tells us
#	which icon should we show given the same DOS pathname.
#

proc tixDirList:InitWidgetRec {w} {
    upvar #0 $w data

    tixChainMethod $w InitWidgetRec
}

proc tixDirList:ConstructWidget {w} {
    upvar #0 $w data

    tixChainMethod $w ConstructWidget

    $data(w:hlist) config -separator [tixFSSep] -selectmode "single"
}

proc tixDirList:SetBindings {w} {
    upvar #0 $w data

    tixChainMethod $w SetBindings

    $data(w:hlist) config \
	-browsecmd [list tixDirList:Browse $w] \
	-command [list tixDirList:Command $w]

    if {$data(-value) eq ""
	|| [catch {set data(-value) [tixFSNormalize $data(-value)]}]} {
	set data(-value) [pwd]
    }
    set data(vpath) [tixFSInternal $data(-value)]
}

#----------------------------------------------------------------------
# Incoming-Events
#----------------------------------------------------------------------
proc tixDirList:Browse {w args} {
    upvar #0 $w data

    set vpath [tixEvent flag V]
    set value [$data(w:hlist) info data $vpath]

    tixDirList:HighLight $w $vpath

    set data(vpath)  $vpath
    set data(-value) [tixFSExternal $value]

    tixDirList:CallBrowseCmd $w $data(-value)
}

proc tixDirList:Command {w args} {
    upvar #0 $w data

    set vpath [tixEvent value]
    set value [$data(w:hlist) info data $vpath]
    set data(-value) [tixFSExternal $value]

    tixDirList:LoadDir $w [tixFSNativeNorm $value] $vpath
    tixDirList:HighLight $w $vpath

    set data(vpath) $vpath
    tixDirList:CallCommand $w $data(-value)
}

#----------------------------------------------------------------------
# Outgoing-Events
#----------------------------------------------------------------------

proc tixDirList:CallBrowseCmd {w npath} {
    upvar #0 $w data

    if {[llength $data(-browsecmd)]} {
	set bind(specs) "%V"
	set bind(%V) $npath
	tixEvalCmdBinding $w $data(-browsecmd) bind $npath
    }
}

proc tixDirList:CallCommand {w npath} {
    upvar #0 $w data

    if {[llength $data(-command)] && !$data(-disablecallback)} {
	set bind(specs) "%V"
	set bind(%V) $npath
	tixEvalCmdBinding $w $data(-command) bind $npath
    }
}

#----------------------------------------------------------------------
# 		Directory loading
#----------------------------------------------------------------------
proc tixDirList:LoadDir {w {npath ""} {vpath ""}} {
    upvar #0 $w data

    tixBusy $w on $data(w:hlist)

    $data(w:hlist) delete all

    if {$npath eq ""} {
	set npath [tixFSNativeNorm $data(-value)]
	set vpath [tixFSInternal $npath]
    }

    tixDirList:ListHierachy $w $npath $vpath
    tixDirList:ListSubDirs $w $npath $vpath

    tixWidgetDoWhenIdle tixBusy $w off $data(w:hlist)
}

proc tixDirList:ListHierachy {w npath vpath} {
    upvar #0 $w data

    set img     [tix getimage openfold]
    set curpath ""
    foreach part [tixFSAncestors $npath] {
	set curpath [file join $curpath $part]
	set text    [tixFSDisplayFileName $curpath]
	set vpath   [tixFSInternal $curpath]
	$data(w:hlist) add $vpath -text $text -data $curpath -image $img
    }
}

proc tixDirList:ListSubDirs {w npath vpath} {
    upvar #0 $w data

    $data(w:hlist) entryconfig $vpath -image [tix getimage act_fold]

    set img [tix getimage folder]
    foreach ent [tixFSListDir $npath 1 0 0 $data(-showhidden)] {
	set curpath [file join $npath $ent]
	set vp      [tixFSInternal $curpath]
	if {![$data(w:hlist) info exists $vp]} {
	    $data(w:hlist) add $vp -text $ent -data $curpath -image $img
	}
    }
}

proc tixDirList:SetValue {w npath vpath {flag ""}} {
    upvar #0 $w data

    if {$flag eq "reload" || ![$data(w:hlist) info exists $vpath]} {
    	tixDirList:LoadDir $w $npath $vpath
    }

    tixDirList:HighLight $w $vpath

    set data(-value) [tixFSNativeNorm $npath]
    set data(vpath)  $vpath
    tixDirList:CallCommand $w $data(-value)
}

proc tixDirList:HighLight {w vpath} {
    upvar #0 $w data

    if {$data(vpath) ne $vpath} {
	set old $data(vpath)

	if {[$data(w:hlist) info exists $old]} {
	    # Un-highlight the originally selected entry by changing its
	    # folder image

	    if {[llength [$data(w:hlist) info children $old]]} {
		set img [tix getimage openfold]
	    } else {
		set img [tix getimage folder]
	    }
	    $data(w:hlist) entryconfig $old -image $img
	}
    }

    # Highlight the newly selected entry
    #
    $data(w:hlist) entryconfig $vpath -image [tix getimage act_fold]
    $data(w:hlist) anchor set $vpath
    $data(w:hlist) select clear
    $data(w:hlist) select set $vpath
    $data(w:hlist) see $vpath
}

#----------------------------------------------------------------------
# Config options
#----------------------------------------------------------------------
proc tixDirList:config-value {w value} {
    upvar #0 $w data

    tixDirList:chdir $w $value
    return $data(-value)
}

proc tixDirList:config-showhidden {w value} {
    upvar #0 $w data

    tixWidgetDoWhenIdle tixDirList:LoadDir $w
}

#----------------------------------------------------------------------
# Public methods
#----------------------------------------------------------------------
proc tixDirList:chdir {w value} {
    upvar #0 $w data

    set npath [tixFSNativeNorm $value]
    tixDirList:SetValue $w $npath [tixFSInternal $npath]
}
PKqm�[iW���Tix8.4.3/IconView.tclnu�[���# -*- mode: TCL; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*-
#
#	$Id: IconView.tcl,v 1.2 2001/12/09 05:04:02 idiscovery Exp $
#
# IconView.tcl --
#
#	This file implements the Icon View widget: the "icon" view mode of
#	the MultiView widget. It implements:
#
#	(1) Creation of the icons in the canvas subwidget.
#	(2) Automatic arrangement of the objects
#
# Copyright (c) 1993-1999 Ioi Kim Lam.
# Copyright (c) 2000-2001 Tix Project Group.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#

tixWidgetClass tixIconView {
    -classname TixIconView
    -superclass tixCObjView
    -method {
	add arrange
    }
    -flag {
	-autoarrange
    }
    -static {
    }
    -configspec {
	{-autoarrange autoArrange AutoArrange 0 tixVerifyBoolean}
    }
    -default {
	{.scrollbar			auto}
	{*borderWidth			1}
	{*canvas.background		#c3c3c3}
	{*canvas.highlightBackground	#d9d9d9}
	{*canvas.relief			sunken}
	{*canvas.takeFocus		1}
	{*Scrollbar.takeFocus		0}
    }
    -forcecall {
    }
}

proc tixIconView:ConstructWidget {w} {
    upvar #0 $w data

    tixChainMethod $w ConstructWidget
}

proc tixIconView:SetBindings {w} {
    upvar #0 $w data

    tixChainMethod $w SetBindings

    set c $data(w:canvas)

    bind $c <1>         "tixIconView:StartDrag $w %x %y"
    bind $c <B1-Motion> "tixIconView:Drag $w %x %y"
    bind $c <ButtonRelease-1> "tixIconView:EndDrag $w"
}

proc tixIconView:StartDrag {w x y} {
    upvar #0 $w data
    global lastX lastY

    set c $data(w:canvas)
    $c raise current

    set lastX [$c canvasx $x]
    set lastY [$c canvasy $y]
}


proc tixIconView:Drag {w x y} {
    upvar #0 $w data
    global lastX lastY

    set c $data(w:canvas)
    set x [$c canvasx $x]
    set y [$c canvasy $y]
    $c move current [expr $x-$lastX] [expr $y-$lastY]
    set lastX $x
    set lastY $y
}

proc tixIconView:EndDrag {w} {
    upvar #0 $w data

    tixCallMethod $w adjustscrollregion
}

#----------------------------------------------------------------------
#
#		option configs
#----------------------------------------------------------------------
proc tixIconView:add {w tag image text} {
    upvar #0 $w data

    set cmp [image create compound -window $data(w:canvas)]

    $cmp add image -image $image
    $cmp add line
    $cmp add text -text $text

    set id [$data(w:canvas) create image 0 0 -image $cmp -anchor nw]
    $data(w:canvas) addtag $tag withtag $id

    if {$data(-autoarrange)} {
	tixWidgetDoWhenIdle tixIconView:Arrange $w 1
    }
}

# Do it in an idle handler, so that Arrange is not called before the window
# is properly mapped.
#
proc tixIconView:arrange {w} {
    tixWidgetDoWhenIdle tixIconView:Arrange $w 1
}


proc tixIconView:PackOneRow {w row y maxH bd padX padY} {
    upvar #0 $w data

    set iX [expr $bd+$padX]
    foreach i $row {
	set box [$data(w:canvas) bbox $i]
	set W [expr [lindex $box 2]-[lindex $box 0]+1]
	set H [expr [lindex $box 3]-[lindex $box 1]+1]

	set iY [expr $y + $maxH - $H]
	$data(w:canvas) coords $i $iX $iY
	incr iX [expr $W+$padX]
    }
}

# virtual method
#
proc tixIconView:PlaceWindow {w} {
    upvar #0 $w data

    if {$data(-autoarrange)} {
	tixWidgetDoWhenIdle tixIconView:Arrange $w 0
    }

    tixChainMethod $w PlaceWindow
}

proc tixIconView:Arrange {w adjust} {
    upvar #0 $w data

    set padX 2
    set padY 2

    tixIconView:ArrangeGrid $w $padX $padY
    if {$adjust} {
	tixCallMethod $w adjustscrollregion
    }
}

# the items are not packed
#
proc tixIconView:ArrangeGrid {w padX padY} {
    upvar #0 $w data

    set maxW 0
    set maxH 0
    foreach item [$data(w:canvas) find all] {
	set box [$data(w:canvas) bbox $item]
	set itemW [expr [lindex $box 2]-[lindex $box 0]+1]
	set itemH [expr [lindex $box 3]-[lindex $box 1]+1]
	if {$maxW < $itemW} {
	    set maxW $itemW
	}
	if {$maxH < $itemH} {
	    set maxH $itemH
	}
    }
    if {$maxW == 0 || $maxH == 0} {
	return
    }

    set winW [tixWinWidth $data(w:canvas)]
    set bd [expr [$data(w:canvas) cget -bd]+\
	[$data(w:canvas) cget -highlightthickness]]
    set cols [expr $winW / ($maxW+$padX)]
    if {$cols < 1} {
	set cols 1
    }
    set y $bd

    set c 0
    set x $bd
    foreach item [$data(w:canvas) find all] {
	set box [$data(w:canvas) bbox $item]
	set itemW [expr [lindex $box 2]-[lindex $box 0]+1]
	set itemH [expr [lindex $box 3]-[lindex $box 1]+1]

	set iX [expr $x + $padX + ($maxW-$itemW)/2]
	set iY [expr $y + $padY + ($maxH-$itemH)  ]

	$data(w:canvas) coords $item $iX $iY
	incr c
	incr x [expr $maxW + $padY]
	if {$c == $cols} {
	    set c 0
	    incr y [expr $maxH + $padY]
	    set x $bd
	}
    }
}

# the items are packed
#
proc tixIconView:ArrangePack {w padX padY} {
    upvar #0 $w data

    set winW [tixWinWidth $data(w:canvas)]
    set bd [expr [$data(w:canvas) cget -bd]+\
	[$data(w:canvas) cget -highlightthickness]]
    set y [expr $bd + $padY]

    set maxH 0
    set usedW $padX
    set row ""
    foreach item [$data(w:canvas) find all] {
	set box [$data(w:canvas) bbox $item]
	set itemW [expr [lindex $box 2]-[lindex $box 0]+1]
	set itemH [expr [lindex $box 3]-[lindex $box 1]+1]

	if {[expr $usedW + $itemW] > $winW} {
	    if {$row == ""} {
		# only one item in this row
		#
		$data(w:canvas) coords $item [expr $bd + $padX] $y
		incr y [expr $itemH+$padY]
		continue
	    } else {
		# this item is not in this row. Arrange the previous items
		# first
		#
		tixIconView:PackOneRow $w $row $y $maxH $bd $padX $padY

		incr y $maxH
		set row ""
		set maxH 0
		set usedW $padX
	    }
	}
	lappend row $item
	if {$maxH < $itemH} {
	    set maxH $itemH
	}
	incr usedW [expr $padX+$itemW]
    }
    if {$row != ""} {
	tixIconView:PackOneRow $w $row $y $maxH $bd $padX $padY
    }
}

#----------------------------------------------------------------------
#
#		Widget commands
#----------------------------------------------------------------------

#----------------------------------------------------------------------
#
#		Private Methods
#----------------------------------------------------------------------

PKqm�[�*�ffTix8.4.3/Compat.tclnu�[���# -*- mode: TCL; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*-
#
#	$Id: Compat.tcl,v 1.3 2004/03/28 02:44:57 hobbs Exp $
#
# Compat.tcl --
#
# 	This file wraps around many incompatibilities from Tix 3.6
#	to Tix 4.0.
#
#	(1) "box" to "Box" changes
#	(2) "DlgBtns" to "ButtonBox" changes
#
# Copyright (c) 1993-1999 Ioi Kim Lam.
# Copyright (c) 2000-2001 Tix Project Group.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#

foreach {old new} {
    tixDlgBtns tixButtonBox
    tixStdDlgBtns tixStdButtonBox
    tixCombobox tixComboBox
    tixFileSelectbox tixFileSelectBox
    tixScrolledListbox tixScrolledListBox
} {
    interp alias {} $old {} $new
}

proc tixInit {args} {
    eval tix config $args
    puts stderr "tixInit no longer needed for this version of Tix"
}
PKqm�[�6��Tix8.4.3/VResize.tclnu�[���# -*- mode: TCL; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*-
#
#	$Id: VResize.tcl,v 1.3 2004/03/28 02:44:57 hobbs Exp $
#
# VResize.tcl --
#
#	tixVResize:
#	Virtual base class for all classes that provide resize capability,
#	such as the resize handle and the MDI client window.
#
# Copyright (c) 1993-1999 Ioi Kim Lam.
# Copyright (c) 2000-2001 Tix Project Group.
# Copyright (c) 2004 ActiveState
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#

tixWidgetClass tixVResize {
    -virtual true
    -classname TixVResize
    -superclass tixPrimitive
    -method {
	drag dragend dragstart
    }
    -flag {
	-gridded -gridx -gridy -minwidth -minheight
    }
    -configspec {
 	{-gridded gridded Gridded false}
	{-gridx gridX Grid 10}
	{-gridy gridY Grid 10}
	{-minwidth minWidth MinWidth 0}
	{-minheight minHeight MinHeight 0}
   }
}


proc tixVResize:InitWidgetRec {w} {
    upvar #0 $w data

    tixChainMethod $w InitWidgetRec

    set data(movePending) 0
    set data(aborted) 0
    set data(depress) 0
}

#----------------------------------------------------------------------
#                    Public methods
#----------------------------------------------------------------------
# Start dragging a window
#
proc tixVResize:dragstart {w win depress rootx rooty wrect mrect} {
    upvar #0 $w data

    set data(rootx) $rootx
    set data(rooty) $rooty

    set data(mx) [lindex $mrect 0]
    set data(my) [lindex $mrect 1]
    set data(mw) [lindex $mrect 2]
    set data(mh) [lindex $mrect 3]

    set data(fx) [lindex $wrect 0]
    set data(fy) [lindex $wrect 1]
    set data(fw) [lindex $wrect 2]
    set data(fh) [lindex $wrect 3]

    set data(old_x) [lindex $wrect 0]
    set data(old_y) [lindex $wrect 1]
    set data(old_w) [lindex $wrect 2]
    set data(old_h) [lindex $wrect 3]

    if {$data(mw) < 0} {
	set data(maxx)  [expr {$data(fx) + $data(old_w) - $data(-minwidth)}]
    } else {
	set data(maxx) 32000
    }
    if {$data(mh) < 0} {
	set data(maxy)  [expr {$data(fy) + $data(old_h) - $data(-minheight)}]
    } else {
	set data(maxy) 32000
    }

    set data(aborted) 0

    tixCallMethod $w ShowHintFrame
    tixCallMethod $w SetHintFrame $data(fx) $data(fy) $data(fw) $data(fh)

    # Grab so that all button events are captured
    #
    grab $win
    focus $win

    set data(depress) $depress
    if {$depress} {
	set data(oldRelief) [$win cget -relief]
	$win config -relief sunken
    }
}


proc tixVResize:drag {w rootx rooty} {
    upvar #0 $w data

    if {$data(aborted) == 0} {
	set data(newrootx) $rootx
	set data(newrooty) $rooty

	if {$data(movePending) == 0} {
	    set data(movePending) 1
	    after 2 tixVResize:DragCompressed $w
	}
    }
}

proc tixVResize:dragend {w win isAbort rootx rooty} {
    upvar #0 $w data

    if {$data(aborted)} {
	if {$isAbort == 0} {
	    grab release $win
	}
	return
    }

    # Just in case some draggings are not applied.
    #
    update

    tixCallMethod $w HideHintFrame

    if {$isAbort} {
	set data(aborted) 1
    } else {
	# Apply the changes
	#
	tixCallMethod $w UpdateSize $data(fx) $data(fy) $data(fw) $data(fh)

	# Release the grab
	#
	grab release $win
    }

    if {$data(depress)} {
	$win config -relief $data(oldRelief)
    }
}

#----------------------------------------------------------------------
#                    Internal methods
#----------------------------------------------------------------------

proc tixVResize:DragCompressed {w} {
    if {![winfo exists $w]} {
	return
    }

    upvar #0 $w data

    if {$data(aborted) == 1 || $data(movePending) == 0} {
	return
    }

    set dx [expr {$data(newrootx) - $data(rootx)}]
    set dy [expr {$data(newrooty) - $data(rooty)}]

    set data(fx) [expr {$data(old_x) + ($dx * $data(mx))}]
    set data(fy) [expr {$data(old_y) + ($dy * $data(my))}]
    set data(fw) [expr {$data(old_w) + ($dx * $data(mw))}]
    set data(fh) [expr {$data(old_h) + ($dy * $data(mh))}]

    if {$data(fw) < $data(-minwidth)} {
	set data(fw) $data(-minwidth)
    }
    if {$data(fh) < $data(-minheight)} {
	set data(fh) $data(-minheight)
    }

    if {$data(fx) > $data(maxx)} {
	set data(fx) $data(maxx)
    }
    if {$data(fy) > $data(maxy)} {
	set data(fy) $data(maxy)
    }

    # If we need grid, set x,y,w,h to fit the grid
    #
    # *note* grid overrides minwidth and maxwidth ...
    #
    if {$data(-gridded)} {
	set data(fx) [expr {round(double($data(fx))/$data(-gridx)) * $data(-gridx)}]
	set data(fy) [expr {round(double($data(fy))/$data(-gridy)) * $data(-gridy)}]

	set fx2  [expr {$data(fx) + $data(fw) - 2}]
	set fy2  [expr {$data(fy) + $data(fh) - 2}]

	set fx2 [expr {round(double($fx2)/$data(-gridx)) * $data(-gridx)}]
	set fy2 [expr {round(double($fy2)/$data(-gridy)) * $data(-gridy)}]

	set data(fw) [expr {$fx2 - $data(fx) + 1}]
	set data(fh) [expr {$fy2 - $data(fy) + 1}]
    }

    tixCallMethod $w SetHintFrame $data(fx) $data(fy) $data(fw) $data(fh)

    update idletasks

    set data(movePending) 0
}
PKqm�[6&���Tix8.4.3/bitmaps/openfile.xbmnu�[���#define openfile_width 16
#define openfile_height 10
static unsigned char openfile_bits[] = {
   0xf8, 0x01, 0x04, 0x06, 0x02, 0x08, 0x02, 0x10, 0xe2, 0xff, 0x52, 0x55,
   0xaa, 0x2a, 0x56, 0x15, 0xaa, 0x0a, 0xfe, 0x07};
PKqm�[hw��Tix8.4.3/bitmaps/openfold.xbmnu�[���#define openfold_width 16
#define openfold_height 10
static unsigned char openfold_bits[] = {
   0xfc, 0x00, 0x02, 0x07, 0x01, 0x08, 0xc1, 0xff, 0x21, 0x80, 0x11, 0x40,
   0x09, 0x20, 0x05, 0x10, 0x03, 0x08, 0xff, 0x07};
PKqm�[!�,���Tix8.4.3/bitmaps/plus.xpmnu�[���/* XPM */
static char * plus_xpm[] = {
"9 9 2 1",
".	s None	c None",
" 	c black",
"         ",
" ....... ",
" ... ... ",
" ... ... ",
" .     . ",
" ... ... ",
" ... ... ",
" ....... ",
"         "};
PKqm�[w۶д�Tix8.4.3/bitmaps/warning.gifnu�[���GIF89a  ������!�,  �����a�����(�\偦&6�i�����)�şm�Y���p@Z���=#0�i:�B(*g<Z/Ϭh[��*^1�\n9�Su5v��� <E�G��;2m��'�5��u�b���2�����0��5�D�s�y�ijP;PKqm�[����Tix8.4.3/bitmaps/mktransgif.tclnu�[���#
#	$Id: mktransgif.tcl,v 1.1.1.1 2000/05/17 11:08:46 idiscovery Exp $
#
#!/usr/local/bin/tclsh

set dont(plusarm.gif)  1
set dont(minusarm.gif) 1

foreach file [glob *.gif] {
    if ![info exists dont($file)] {
	puts "giftool -1 -B $file"
    }
}

PKqm�[�Q11Tix8.4.3/bitmaps/resize2.xbmnu�[���#define resize2_width 13
#define resize2_height 13
#define resize2_x_hot 6
#define resize2_y_hot 6
static unsigned char resize2_bits[] = {
   0xc0, 0x1f, 0x80, 0x10, 0x00, 0x11, 0x80, 0x11, 0xc0, 0x16, 0x60, 0x1b,
   0xb1, 0x11, 0xdb, 0x00, 0x6d, 0x00, 0x31, 0x00, 0x11, 0x00, 0x21, 0x00,
   0x7f, 0x00};
PKqm�[i~����Tix8.4.3/bitmaps/harddisk.xbmnu�[���#define harddisk_width 32
#define harddisk_height 32
static unsigned char harddisk_bits[] = {
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   0xf8, 0xff, 0xff, 0x1f, 0x08, 0x00, 0x00, 0x18, 0xa8, 0xaa, 0xaa, 0x1a,
   0x48, 0x55, 0xd5, 0x1d, 0xa8, 0xaa, 0xaa, 0x1b, 0x48, 0x55, 0x55, 0x1d,
   0xa8, 0xfa, 0xaf, 0x1a, 0xc8, 0xff, 0xff, 0x1d, 0xa8, 0xfa, 0xaf, 0x1a,
   0x48, 0x55, 0x55, 0x1d, 0xa8, 0xaa, 0xaa, 0x1a, 0x48, 0x55, 0x55, 0x1d,
   0xa8, 0xaa, 0xaa, 0x1a, 0xf8, 0xff, 0xff, 0x1f, 0xf8, 0xff, 0xff, 0x1f,
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
PKqm�[JI.;OOTix8.4.3/bitmaps/folder.gifnu�[���GIF89a����!�, ��a�'/T[Bْ޸�Q�׍Vi>h����q�R;PKqm�[���Tix8.4.3/bitmaps/ck_on.xbmnu�[���#define ck_on_width 13
#define ck_on_height 13
static unsigned char ck_on_bits[] = {
   0xff, 0x1f, 0x01, 0x10, 0x01, 0x10, 0x01, 0x14, 0x01, 0x16, 0x01, 0x17,
   0x89, 0x13, 0xdd, 0x11, 0xf9, 0x10, 0x71, 0x10, 0x21, 0x10, 0x01, 0x10,
   0xff, 0x1f};
PKqm�[�Uc��Tix8.4.3/bitmaps/no_entry.xpmnu�[���/* XPM */
static char * no_entry_xpm[] = {
"32 32 4 1",
" 	s None	c None",
".	c #000000000000",
"X	c red",
"o	c yellow",
"                                ",
"           .........            ",
"        ...XXXXXXXXX...         ",
"       .XXXXXXXXXXXXXXX.        ",
"     ..XXXXXXXXXXXXXXXXX..      ",
"    .XXXXXXXXXXXXXXXXXXXXX.     ",
"   .XXXXXXXXXXXXXXXXXXXXXXX.    ",
"   .XXXXXXXXXXXXXXXXXXXXXXX.    ",
"  .XXXXXXXXXXXXXXXXXXXXXXXXX.   ",
" .XXXXXXXXXXXXXXXXXXXXXXXXXXX.  ",
" .XXXXXXXXXXXXXXXXXXXXXXXXXXX.  ",
" .XXXXXXXXXXXXXXXXXXXXXXXXXXX.  ",
".XXXXXXXXXXXXXXXXXXXXXXXXXXXXX. ",
".XXX.......................XXX. ",
".XXX.ooooooooooooooooooooo.XXX. ",
".XXX.ooooooooooooooooooooo.XXX. ",
".XXX.ooooooooooooooooooooo.XXX. ",
".XXX.ooooooooooooooooooooo.XXX. ",
".XXX.ooooooooooooooooooooo.XXX. ",
".XXX.ooooooooooooooooooooo.XXX. ",
".XXX.......................XXX. ",
" .XXXXXXXXXXXXXXXXXXXXXXXXXXX.  ",
" .XXXXXXXXXXXXXXXXXXXXXXXXXXX.  ",
" .XXXXXXXXXXXXXXXXXXXXXXXXXXX.  ",
"  .XXXXXXXXXXXXXXXXXXXXXXXXX.   ",
"   .XXXXXXXXXXXXXXXXXXXXXXX.    ",
"   .XXXXXXXXXXXXXXXXXXXXXXX.    ",
"    .XXXXXXXXXXXXXXXXXXXXX.     ",
"     ..XXXXXXXXXXXXXXXXX..      ",
"       .XXXXXXXXXXXXXXX.        ",
"        ...XXXXXXXXX...         ",
"           .........            "};
PKqm�[�]r���Tix8.4.3/bitmaps/hourglas.masknu�[���#define hourglass_mask_width 32
#define hourglass_mask_height 32
#define hourglass_mask_x_hot 16
#define hourglass_mask_y_hot 15
static char hourglass_mask_bits[] = {
   0x00, 0x00, 0x00, 0x00, 0xfc, 0xff, 0xff, 0x7f, 0xfc, 0xff, 0xff, 0x7f,
   0x58, 0x00, 0x00, 0x34, 0x58, 0x00, 0x00, 0x34, 0x58, 0x00, 0x00, 0x34,
   0x98, 0x00, 0x00, 0x32, 0x98, 0x00, 0x00, 0x32, 0x98, 0x00, 0x00, 0x32,
   0x18, 0x01, 0x00, 0x31, 0x18, 0xfd, 0x7e, 0x31, 0x18, 0xfa, 0xbf, 0x30,
   0x18, 0xe4, 0x4f, 0x30, 0x18, 0xd8, 0x37, 0x30, 0x18, 0x20, 0x09, 0x30,
   0x18, 0x40, 0x05, 0x30, 0x18, 0x20, 0x08, 0x30, 0x18, 0x18, 0x31, 0x30,
   0x18, 0x04, 0x41, 0x30, 0x18, 0x02, 0x80, 0x30, 0x18, 0x01, 0x00, 0x31,
   0x18, 0x01, 0x00, 0x31, 0x98, 0x00, 0x01, 0x32, 0x98, 0x00, 0x01, 0x32,
   0x98, 0x80, 0x03, 0x32, 0x58, 0xc0, 0x07, 0x34, 0x58, 0xf0, 0x1f, 0x34,
   0x58, 0xfe, 0xff, 0x34, 0xf8, 0xff, 0xff, 0x3f, 0xfc, 0xff, 0xff, 0x7f,
   0xfc, 0xff, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00};
PKqm�[�ݭi��Tix8.4.3/bitmaps/tick.xbmnu�[���#define tick_width 14
#define tick_height 14
static char tick_bits[] = {
   0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x38, 0x00, 0x1c, 0x00, 0x0e,
   0x00, 0x07, 0x80, 0x03, 0xc2, 0x01, 0xe7, 0x00, 0x7f, 0x00, 0x3e, 0x00,
   0x1c, 0x00, 0x08, 0x00};
PKqm�["��~OOTix8.4.3/bitmaps/srcfile.gifnu�[���GIF89a�������!�, D�k�X{�@i�^�U�jd�b�ބn�;PKqm�[���ccTix8.4.3/bitmaps/decr.xbmnu�[���#define decr_width 7
#define decr_height 4
static char decr_bits[] = {
   0x7f, 0x3e, 0x1c, 0x08};
PKqm�[��H�TTTix8.4.3/bitmaps/openfold.gifnu�[���GIF89a�����!�,%��a�'/T[Bْ޸�Q�=8��T窸+�̑DrK;PKqm�[]���99Tix8.4.3/bitmaps/minus.gifnu�[���GIF89a		����!�,		�����^�Lye|��;PKqm�[�K��Tix8.4.3/bitmaps/textfile.xbmnu�[���#define textfile_width 12
#define textfile_height 12
static unsigned char textfile_bits[] = {
   0xfe, 0x01, 0x02, 0x01, 0x02, 0x07, 0x7a, 0x04, 0x02, 0x04, 0x3a, 0x04,
   0x02, 0x04, 0xfa, 0x04, 0x02, 0x04, 0xfa, 0x04, 0x02, 0x04, 0xfe, 0x07};
PKqm�[F��LLTix8.4.3/bitmaps/file.gifnu�[���GIF89a������!�,D�k�X{�@i�Yl�yW(r�G���}�;PKqm�[�ږTix8.4.3/bitmaps/restore.xbmnu�[���#define restore_width 15
#define restore_height 15
static unsigned char restore_bits[] = {
   0x00, 0x00, 0x80, 0x00, 0xc0, 0x01, 0xe0, 0x03, 0xf0, 0x07, 0xf8, 0x0f,
   0xfc, 0x1f, 0x00, 0x00, 0xfc, 0x1f, 0xf8, 0x0f, 0xf0, 0x07, 0xe0, 0x03,
   0xc0, 0x01, 0x80, 0x00, 0x00, 0x00};
PKqm�[0
՝��Tix8.4.3/bitmaps/ck_def.xbmnu�[���#define ck_def_width 13
#define ck_def_height 13
static unsigned char ck_def_bits[] = {
   0xff, 0x1f, 0x01, 0x10, 0x55, 0x15, 0x01, 0x10, 0x55, 0x15, 0x01, 0x10,
   0x55, 0x15, 0x01, 0x10, 0x55, 0x15, 0x01, 0x10, 0x55, 0x15, 0x01, 0x10,
   0xff, 0x1f};
PKqm�[�|�&&Tix8.4.3/bitmaps/srcfile.xpmnu�[���/* XPM */
static char * srcfile_xpm[] = {
"12 12 3 1",
" 	s None	c None",
".	c black",
"X	c gray91",
" ........   ",
" .XXXXXX.   ",
" .XXXXXX... ",
" .XXXXXXXX. ",
" .XX...XXX. ",
" .X.XXX.XX. ",
" .X.XXXXXX. ",
" .X.XXXXXX. ",
" .X.XXX.XX. ",
" .XX...XXX. ",
" .XXXXXXXX. ",
" .......... "};
PKqm�[���<<Tix8.4.3/bitmaps/plusarm.gifnu�[���GIF87a		���lhh,		�����`@(g(t�^�DL� ;PKqm�[K3��Tix8.4.3/bitmaps/plusarm.xpmnu�[���/* XPM */
static char * plusarm_xpm[] = {
"9 9 3 1",
" 	c black",
".	c yellow",
"X	c gray40",
"         ",
" ....... ",
" ... ... ",
" ..X X.. ",
" .  X  . ",
" ..X X.. ",
" ... ... ",
" ....... ",
"         "};
PKqm�[�*�I��Tix8.4.3/bitmaps/cross.xbmnu�[���#define cross_width 14
#define cross_height 14
static char cross_bits[] = {
   0x00, 0x00, 0x00, 0x00, 0x06, 0x18, 0x0e, 0x1c, 0x1c, 0x0e, 0x38, 0x07,
   0xf0, 0x03, 0xe0, 0x01, 0xe0, 0x01, 0xf0, 0x03, 0x38, 0x07, 0x1c, 0x0e,
   0x0e, 0x1c, 0x06, 0x18};
PKqm�[:ue)��Tix8.4.3/bitmaps/act_fold.xpmnu�[���/* XPM */
static char * act_fold_xpm[] = {
/* width height num_colors chars_per_pixel */
"16 12 4 1",
/* colors */
" 	s None	c None",
".	c black",
"X	c yellow",
"o	c #5B5B57574646",
/* pixels */
"   ....         ",
"  .XXXX.        ",
" .XXXXXX.       ",
".............   ",
".oXoXoXoXoXo.   ",
".XoX............",
".oX.XXXXXXXXXXX.",
".Xo.XXXXXXXXXX. ",
".o.XXXXXXXXXXX. ",
".X.XXXXXXXXXXX. ",
"..XXXXXXXXXX..  ",
".............   "};
PKqm�[o�OOTix8.4.3/bitmaps/textfile.gifnu�[���GIF89a�������!�, D�k�X{� ��Ɔx\Wq	��䇝�^g;PKqm�[��KI��Tix8.4.3/bitmaps/hourglas.xbmnu�[���#define hourglass_width 32
#define hourglas_height 32
#define hourglas_x_hot 16
#define hourglas_y_hot 15
static char hourglas_bits[] = {
   0xfe, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff,
   0x7c, 0x00, 0x00, 0x7c, 0x7c, 0x00, 0x00, 0x7c, 0x7c, 0x00, 0x00, 0x7c,
   0xfc, 0x00, 0x00, 0x7e, 0xfc, 0x00, 0x00, 0x7e, 0xfc, 0x00, 0x00, 0x7e,
   0xbc, 0x01, 0x00, 0x7b, 0xbc, 0xfd, 0x7e, 0x7b, 0x3c, 0xfb, 0xbf, 0x79,
   0x3c, 0xe6, 0xcf, 0x78, 0x3c, 0xdc, 0x77, 0x78, 0x3c, 0x38, 0x39, 0x78,
   0x3c, 0x60, 0x0d, 0x78, 0x3c, 0x38, 0x38, 0x78, 0x3c, 0x1c, 0x71, 0x78,
   0x3c, 0x06, 0xc1, 0x78, 0x3c, 0x03, 0x80, 0x79, 0xbc, 0x01, 0x00, 0x7b,
   0xbc, 0x01, 0x00, 0x7b, 0xfc, 0x00, 0x01, 0x7e, 0xfc, 0x00, 0x01, 0x7e,
   0xfc, 0x80, 0x03, 0x7e, 0x7c, 0xc0, 0x07, 0x7c, 0x7c, 0xf0, 0x1f, 0x7c,
   0x7c, 0xfe, 0xff, 0x7c, 0xfe, 0xff, 0xff, 0x7f, 0xfe, 0xff, 0xff, 0xff,
   0xfe, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff};
PKqm�[�"ޓ..Tix8.4.3/bitmaps/textfile.xpmnu�[���/* XPM */
static char * textfile_xpm[] = {
"12 12 3 1",
" 	s None	c None",
".	c black",
"X	c #FFFFFFFFF3CE",
" ........   ",
" .XXXXXX.   ",
" .XXXXXX... ",
" .X....XXX. ",
" .XXXXXXXX. ",
" .X...XXXX. ",
" .XXXXXXXX. ",
" .X.....XX. ",
" .XXXXXXXX. ",
" .X.....XX. ",
" .XXXXXXXX. ",
" .......... "};
PKqm�[|hZZZTix8.4.3/bitmaps/act_fold.gifnu�[���GIF89a�����[WF!�,+��a�'/T[Bْ�8� ؍�U�U��>��P���q�,
;PKqm�[)�}��Tix8.4.3/bitmaps/plusarm.xbmnu�[���#define plusarm_width 9
#define plusarm_height 9
static unsigned char plusarm_bits[] = {
   0xff, 0x01, 0x01, 0x01, 0x6d, 0x01, 0x6d, 0x01, 0x01, 0x01, 0x6d, 0x01,
   0x6d, 0x01, 0x01, 0x01, 0xff, 0x01};
PKqm�[z��>{{Tix8.4.3/bitmaps/balarrow.xbmnu�[���#define balarrow_width 6
#define balarrow_height 6
static char balarrow_bits[] = {
   0x1f, 0x07, 0x07, 0x09, 0x11, 0x20};
PKqm�[����Tix8.4.3/bitmaps/minusarm.xbmnu�[���#define minusarm_width 9
#define minusarm_height 9
static unsigned char minusarm_bits[] = {
   0xff, 0x01, 0x01, 0x01, 0x7d, 0x01, 0x7d, 0x01, 0x01, 0x01, 0x7d, 0x01,
   0x7d, 0x01, 0x01, 0x01, 0xff, 0x01};
PKqm�[��Dâ�Tix8.4.3/bitmaps/openfold.xpmnu�[���/* XPM */
static char * openfolder_xpm[] = {
/* width height num_colors chars_per_pixel */
"16 12 3 1",
/* colors */
" 	s None	c None",
".	c black",
"X	c #f0ff80",
/* pixels */
"   ....         ",
"  .XXXX.        ",
" .XXXXXX.       ",
".............   ",
".XXXXXXXXXXX.   ",
".XXX............",
".XX.XXXXXXXXXXX.",
".XX.XXXXXXXXXX. ",
".X.XXXXXXXXXXX. ",
".X.XXXXXXXXXXX. ",
"..XXXXXXXXXX..  ",
".............   "};
PKqm�[�`6�FFTix8.4.3/bitmaps/drop.xbmnu�[���#define drop_width 16
#define drop_height 16
#define drop_x_hot 6
#define drop_y_hot 4
static unsigned char drop_bits[] = {
   0x00, 0x00, 0xfe, 0x07, 0x02, 0x04, 0x02, 0x04, 0x42, 0x04, 0xc2, 0x04,
   0xc2, 0x05, 0xc2, 0x07, 0xc2, 0x07, 0xc2, 0x0f, 0xfe, 0x1f, 0xc0, 0x07,
   0xc0, 0x06, 0x00, 0x0c, 0x00, 0x1c, 0x00, 0x08};
PKqm�[���Tix8.4.3/bitmaps/minimize.xbmnu�[���#define minimize_width 15
#define minimize_height 15
static unsigned char minimize_bits[] = {
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x01,
   0x20, 0x03, 0x20, 0x03, 0xe0, 0x03, 0xc0, 0x03, 0x00, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
PKqm�[m>���Tix8.4.3/bitmaps/minus.xpmnu�[���/* XPM */
static char * minus_xpm[] = {
"9 9 2 1",
".	s None	c None",
" 	c black",
"         ",
" ....... ",
" ....... ",
" ....... ",
" .     . ",
" ....... ",
" ....... ",
" ....... ",
"         "};
PKqm�[r�7w��Tix8.4.3/bitmaps/folder.xbmnu�[���#define folder_width 16
#define folder_height 10
static unsigned char folder_bits[] = {
   0xfc, 0x00, 0x02, 0x07, 0x01, 0x08, 0x01, 0x08, 0x01, 0x08, 0x01, 0x08,
   0x01, 0x08, 0x01, 0x08, 0x01, 0x08, 0xff, 0x07};
PKqm�[.7�Tix8.4.3/bitmaps/cbxarrow.xbmnu�[���#define cbxarrow_width 11
#define cbxarrow_height 14
static char cbxarrow_bits[] = {
   0x00, 0x00, 0x70, 0x00, 0x70, 0x00, 0x70, 0x00, 0x70, 0x00, 0x70, 0x00,
   0xfe, 0x03, 0xfc, 0x01, 0xf8, 0x00, 0x70, 0x00, 0x20, 0x00, 0x00, 0x00,
   0xfe, 0x03, 0xfe, 0x03};
PKqm�[�S8���Tix8.4.3/bitmaps/info.gifnu�[���GIF89a  ����!�,  v����aC��[�V�tyϧ�\Iz��HjȖ����I�|O��)�O�W�Rɔ��|���1���Y�<���1R���9u]sc�q�0��d��:���Gu�Ǥ3H�8�g�Hrg�P;PKqm�[g����Tix8.4.3/bitmaps/srcfile.xbmnu�[���#define srcfile_width 12
#define srcfile_height 12
static unsigned char srcfile_bits[] = {
   0xfe, 0x01, 0x02, 0x01, 0x02, 0x07, 0x02, 0x04, 0x72, 0x04, 0x8a, 0x04,
   0x0a, 0x04, 0x0a, 0x04, 0x8a, 0x04, 0x72, 0x04, 0x02, 0x04, 0xfe, 0x07};
PKqm�[䷢P**Tix8.4.3/bitmaps/file.xpmnu�[���/* XPM */
static char * file_xpm[] = {
"12 12 3 1",
" 	s None	c None",
".	c black",
"X	c #FFFFFFFFF3CE",
" ........   ",
" .XXXXXX.   ",
" .XXXXXX... ",
" .XXXXXXXX. ",
" .XXXXXXXX. ",
" .XXXXXXXX. ",
" .XXXXXXXX. ",
" .XXXXXXXX. ",
" .XXXXXXXX. ",
" .XXXXXXXX. ",
" .XXXXXXXX. ",
" .......... "};
PKqm�[�b��Tix8.4.3/bitmaps/no_entry.gifnu�[���GIF89a  �����@��!�,  �����a�����(�\偦&6��^������6m�6K�;�L/��2�T�	�j������jW"���R�+���i͚=U��mW����� ��w�#Ȕ��XHƀ(���	3T��0�p�Q;PKqm�[������Tix8.4.3/bitmaps/act_fold.xbmnu�[���#define act_fold_width 16
#define act_fold_height 10
static unsigned char act_fold_bits[] = {
   0xfc, 0x00, 0xaa, 0x0f, 0x55, 0x15, 0xeb, 0xff, 0x15, 0x80, 0x0b, 0x40,
   0x05, 0x20, 0x03, 0x10, 0x01, 0x08, 0xff, 0x07};
PKqm�[��11Tix8.4.3/bitmaps/resize1.xbmnu�[���#define resize1_width 13
#define resize1_height 13
#define resize1_x_hot 6
#define resize1_y_hot 6
static unsigned char resize1_bits[] = {
   0x7f, 0x00, 0x21, 0x00, 0x11, 0x00, 0x31, 0x00, 0x6d, 0x00, 0xdb, 0x00,
   0xb1, 0x11, 0x60, 0x1b, 0xc0, 0x16, 0x80, 0x11, 0x00, 0x11, 0x80, 0x10,
   0xc0, 0x1f};
PKqm�[3i�ccTix8.4.3/bitmaps/incr.xbmnu�[���#define incr_width 7
#define incr_height 4
static char incr_bits[] = {
   0x08, 0x1c, 0x3e, 0x7f};
PKqm�[/�����Tix8.4.3/bitmaps/file.xbmnu�[���#define file_width 12
#define file_height 12
static unsigned char file_bits[] = {
   0xfe, 0x00, 0x02, 0x03, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02,
   0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0xfe, 0x03};
PKqm�[���;;Tix8.4.3/bitmaps/minusarm.gifnu�[���GIF87a		������,		����넔
qD�S����;PKqm�[h:�Tix8.4.3/bitmaps/maximize.xbmnu�[���#define maximize_width 15
#define maximize_height 15
static unsigned char maximize_bits[] = {
   0x00, 0x00, 0x00, 0x00, 0xfc, 0x1f, 0x04, 0x10, 0x04, 0x70, 0x04, 0x70,
   0x04, 0x70, 0x04, 0x70, 0x04, 0x70, 0x04, 0x70, 0x04, 0x70, 0x04, 0x70,
   0xfc, 0x7f, 0xf0, 0x7f, 0xf0, 0x7f};
PKqm�[���::Tix8.4.3/bitmaps/plus.gifnu�[���GIF89a		����!�,		�����
"Ks�,�S;PKqm�[��#Tix8.4.3/bitmaps/system.xbmnu�[���#define system_width 15
#define system_height 15
static unsigned char system_bits[] = {
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x3f,
   0x02, 0x20, 0x02, 0x20, 0xfe, 0x3f, 0xfe, 0x3f, 0x00, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
PKqm�[�Mų��Tix8.4.3/bitmaps/minusarm.xpmnu�[���/* XPM */
static char * minusarm_xpm[] = {
"9 9 3 1",
" 	c black",
".	c yellow",
"X	c #808080808080",
"         ",
" ....... ",
" ....... ",
" .XXXXX. ",
" .X   X. ",
" .XXXXX. ",
" ....... ",
" ....... ",
"         "};
PKqm�[�S	��Tix8.4.3/bitmaps/info.xpmnu�[���/* XPM */
static char * info_xpm[] = {
"32 32 3 1",
" 	s None	c None",
".	c #000000000000",
"X	c white",
"                                ",
"           .........            ",
"        ...XXXXXXXXX...         ",
"       .XXXXXXXXXXXXXXX.        ",
"     ..XXXXXXXXXXXXXXXXX..      ",
"    .XXXXXXXXXXXXXXXXXXXXX.     ",
"   .XXXXXXXXXX...XXXXXXXXXX.    ",
"   .XXXXXXXXX.....XXXXXXXXX.    ",
"  .XXXXXXXXX.......XXXXXXXXX.   ",
" .XXXXXXXXXX.......XXXXXXXXXX.  ",
" .XXXXXXXXXX.......XXXXXXXXXX.  ",
" .XXXXXXXXXXX.....XXXXXXXXXXX.  ",
".XXXXXXXXXXXXX...XXXXXXXXXXXXX. ",
".XXXXXXXXXXXXXXXXXXXXXXXXXXXXX. ",
".XXXXXXXXXXXXXXXXXXXXXXXXXXXXX. ",
".XXXXXXXXXXX.......XXXXXXXXXXX. ",
".XXXXXXXXXXX.......XXXXXXXXXXX. ",
".XXXXXXXXXXX.......XXXXXXXXXXX. ",
".XXXXXXXXXXX.......XXXXXXXXXXX. ",
".XXXXXXXXXXX.......XXXXXXXXXXX. ",
".XXXXXXXXXXX.......XXXXXXXXXXX. ",
" .XXXXXXXXXX.......XXXXXXXXXX.  ",
" .XXXXXXXXXX.......XXXXXXXXXX.  ",
" .XXXXXXXXXX.......XXXXXXXXXX.  ",
"  .XXXXXXXXX.......XXXXXXXXX.   ",
"   .XXXXXXXX.......XXXXXXXX.    ",
"   .XXXXXXXX.......XXXXXXXX.    ",
"    .XXXXXXXXXXXXXXXXXXXXX.     ",
"     ..XXXXXXXXXXXXXXXXX..      ",
"       .XXXXXXXXXXXXXXX.        ",
"        ...XXXXXXXXX...         ",
"           .........            "};
PKqm�[a6O�}}Tix8.4.3/bitmaps/network.xbmnu�[���#define network_width 32
#define network_height 32
static unsigned char network_bits[] = {
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x7f, 0x00, 0x00, 0x02, 0x40,
   0x00, 0x00, 0xfa, 0x5f, 0x00, 0x00, 0x0a, 0x50, 0x00, 0x00, 0x0a, 0x52,
   0x00, 0x00, 0x0a, 0x52, 0x00, 0x00, 0x8a, 0x51, 0x00, 0x00, 0x0a, 0x50,
   0x00, 0x00, 0x4a, 0x50, 0x00, 0x00, 0x0a, 0x50, 0x00, 0x00, 0x0a, 0x50,
   0x00, 0x00, 0xfa, 0x5f, 0x00, 0x00, 0x02, 0x40, 0xfe, 0x7f, 0x52, 0x55,
   0x02, 0x40, 0xaa, 0x6a, 0xfa, 0x5f, 0xfe, 0x7f, 0x0a, 0x50, 0xfe, 0x7f,
   0x0a, 0x52, 0x80, 0x00, 0x0a, 0x52, 0x80, 0x00, 0x8a, 0x51, 0x80, 0x00,
   0x0a, 0x50, 0x80, 0x00, 0x4a, 0x50, 0x80, 0x00, 0x0a, 0x50, 0xe0, 0x03,
   0x0a, 0x50, 0x20, 0x02, 0xfa, 0xdf, 0x3f, 0x03, 0x02, 0x40, 0xa0, 0x02,
   0x52, 0x55, 0xe0, 0x03, 0xaa, 0x6a, 0x00, 0x00, 0xfe, 0x7f, 0x00, 0x00,
   0xfe, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
PKqm�[9gu���Tix8.4.3/bitmaps/folder.xpmnu�[���/* XPM */
static char * folder_foo_xpm[] = {
/* width height num_colors chars_per_pixel */
"16 12 3 1",
/* colors */
" 	s None	c None",
".	c black",
"X	c #f0ff80",
/* pixels */
"   ....         ",
"  .XXXX.        ",
" .XXXXXX.       ",
".............   ",
".XXXXXXXXXXX.   ",
".XXXXXXXXXXX.   ",
".XXXXXXXXXXX.   ",
".XXXXXXXXXXX.   ",
".XXXXXXXXXXX.   ",
".XXXXXXXXXXX.   ",
".XXXXXXXXXXX.   ",
".............   "};
PKqm�['�W���Tix8.4.3/bitmaps/minus.xbmnu�[���#define minus_width 9
#define minus_height 9
static unsigned char minus_bits[] = {
   0xff, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x7d, 0x01, 0x01, 0x01,
   0x01, 0x01, 0x01, 0x01, 0xff, 0x01};
PKqm�[�Ӳ���Tix8.4.3/bitmaps/plus.xbmnu�[���#define plus_width 9
#define plus_height 9
static unsigned char plus_bits[] = {
   0xff, 0x01, 0x01, 0x01, 0x11, 0x01, 0x11, 0x01, 0x7d, 0x01, 0x11, 0x01,
   0x11, 0x01, 0x01, 0x01, 0xff, 0x01};
PKqm�[����Tix8.4.3/bitmaps/warning.xpmnu�[���/* XPM */
static char * warning_xpm[] = {
"32 32 3 1",
" 	s None	c None",
".	c #000000000000",
"X	c yellow",
"                                ",
"           .........            ",
"        ...XXXXXXXXX...         ",
"       .XXXXXXXXXXXXXXX.        ",
"     ..XXXXXXXXXXXXXXXXX..      ",
"    .XXXXXXXXX...XXXXXXXXX.     ",
"   .XXXXXXXXX.....XXXXXXXXX.    ",
"   .XXXXXXXXX.....XXXXXXXXX.    ",
"  .XXXXXXXXX.......XXXXXXXXX.   ",
" .XXXXXXXXXX.......XXXXXXXXXX.  ",
" .XXXXXXXXXX.......XXXXXXXXXX.  ",
" .XXXXXXXXXX.......XXXXXXXXXX.  ",
".XXXXXXXXXXX.......XXXXXXXXXXX. ",
".XXXXXXXXXXX.......XXXXXXXXXXX. ",
".XXXXXXXXXXX.......XXXXXXXXXXX. ",
".XXXXXXXXXXX.......XXXXXXXXXXX. ",
".XXXXXXXXXXX.......XXXXXXXXXXX. ",
".XXXXXXXXXXXX.....XXXXXXXXXXXX. ",
".XXXXXXXXXXXX.....XXXXXXXXXXXX. ",
".XXXXXXXXXXXX.....XXXXXXXXXXXX. ",
".XXXXXXXXXXXXX...XXXXXXXXXXXXX. ",
" .XXXXXXXXXXXXXXXXXXXXXXXXXXX.  ",
" .XXXXXXXXXXXX...XXXXXXXXXXXX.  ",
" .XXXXXXXXXXX.....XXXXXXXXXXX.  ",
"  .XXXXXXXXX.......XXXXXXXXX.   ",
"   .XXXXXXXX.......XXXXXXXX.    ",
"   .XXXXXXXX.......XXXXXXXX.    ",
"    .XXXXXXXX.....XXXXXXXX.     ",
"     ..XXXXXXX...XXXXXXX..      ",
"       .XXXXXXXXXXXXXXX.        ",
"        ...XXXXXXXXX...         ",
"           .........            "};
PKqm�[�uM^��Tix8.4.3/bitmaps/ck_off.xbmnu�[���#define ck_off_width 13
#define ck_off_height 13
static unsigned char ck_off_bits[] = {
   0xff, 0x1f, 0x01, 0x10, 0x01, 0x10, 0x01, 0x10, 0x01, 0x10, 0x01, 0x10,
   0x01, 0x10, 0x01, 0x10, 0x01, 0x10, 0x01, 0x10, 0x01, 0x10, 0x01, 0x10,
   0xff, 0x1f};
PKqm�[�+�;�;Tix8.4.3/Console.tclnu�[���# -*- mode: TCL; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*-
#
#	$Id: Console.tcl,v 1.5 2008/02/27 22:17:28 hobbs Exp $
#
# Console.tcl --
#
#	This code constructs the console window for an application.
#	It can be used by non-unix systems that do not have built-in
#	support for shells.
#
#	This file was distributed as a part of Tk 4.1 by Sun
#	Microsystems, Inc. and subsequently modified by Expert
#	Interface Techonoligies and included as a part of Tix.
#
#	Some of the functions in this file have been renamed from
#	using a "tk" prefix to a "tix" prefix to avoid namespace
#	conflict with the original file.
#
# Copyright (c) 1995-1996 Sun Microsystems, Inc.
# Copyright (c) 1993-1999 Ioi Kim Lam.
# Copyright (c) 2000-2001 Tix Project Group.
#
# See the file "docs/license.tcltk" for information on usage and
# redistribution of the original file "console.tcl". These license
# terms do NOT apply to other files in the Tix distribution.
#
# See the file "license.terms" for information on usage and
# redistribution * of this file, and for a DISCLAIMER OF ALL
# WARRANTIES.

# tixConsoleInit --
# This procedure constructs and configures the console windows.
#
# Arguments:
# 	None.

foreach fun {tkTextSetCursor} {
    if {![llength [info commands $fun]]} {
	tk::unsupported::ExposePrivateCommand $fun
    }
}
unset fun

proc tixConsoleInit {} {
    global tcl_platform

    uplevel #0 set tixConsoleTextFont Courier
    uplevel #0 set tixConsoleTextSize 14

    set f [frame .f]
    set fontcb [tixComboBox $f.size -label "" -command "tixConsoleSetFont" \
	-variable tixConsoleTextFont \
	-options {
	    entry.width    15
	    listbox.height 5
	}]
    set sizecb [tixComboBox $f.font -label "" -command "tixConsoleSetFont" \
	-variable tixConsoleTextSize \
	-options {
	    entry.width    4
	    listbox.width  6
	    listbox.height 5
	}]
    pack $fontcb $sizecb -side left
    pack $f -side top -fill x -padx 2 -pady 2
    foreach font {
	"Courier New"
	"Courier"
	"Helvetica"
	"Lucida"
	"Lucida Typewriter"
	"MS LineDraw"
	"System"
	"Times Roman"
    } {
	$fontcb subwidget listbox insert end $font
    }

    for {set s 6} {$s < 25} {incr s} {
	$sizecb subwidget listbox insert end $s
    }

    bind [$fontcb subwidget entry] <Escape> "focus .console"
    bind [$sizecb subwidget entry] <Escape> "focus .console"

    text .console  -yscrollcommand ".sb set" -setgrid true \
	-highlightcolor [. cget -bg] -highlightbackground [. cget -bg]
    scrollbar .sb -command ".console yview" -highlightcolor [. cget -bg] \
	-highlightbackground [. cget -bg]
    pack .sb -side right -fill both
    pack .console -fill both -expand 1 -side left

    tixConsoleBind .console

    .console tag configure stderr -foreground red
    .console tag configure stdin -foreground blue

    focus .console
    
    wm protocol . WM_DELETE_WINDOW { wm withdraw . }
    wm title . "Console"
    flush stdout
    .console mark set output [.console index "end - 1 char"]
    tkTextSetCursor .console end
    .console mark set promptEnd insert
    .console mark gravity promptEnd left

    tixConsoleSetFont
}

proc tixConsoleSetFont {args} {
    if ![winfo exists .console] tixConsoleInit

    global tixConsoleTextFont tixConsoleTextSize

    set font  -*-$tixConsoleTextFont-medium-r-normal-*-$tixConsoleTextSize-*-*-*-*-*-*-*
    .console config -font $font
}

# tixConsoleInvoke --
# Processes the command line input.  If the command is complete it
# is evaled in the main interpreter.  Otherwise, the continuation
# prompt is added and more input may be added.
#
# Arguments:
# None.

proc tixConsoleInvoke {args} {
    if ![winfo exists .console] tixConsoleInit

    if {[.console dlineinfo insert] != {}} {
	set setend 1
    } else {
	set setend 0
    }
    set ranges [.console tag ranges input]
    set cmd ""
    if {$ranges != ""} {
	set pos 0
	while {[lindex $ranges $pos] != ""} {
	    set start [lindex $ranges $pos]
	    set end [lindex $ranges [incr pos]]
	    append cmd [.console get $start $end]
	    incr pos
	}
    }
    if {$cmd == ""} {
	tixConsolePrompt
    } elseif {[info complete $cmd]} {
	.console mark set output end
	.console tag delete input
	set err [catch {
	    set result [interp record $cmd]
	} result]

	if {$result != ""} {
	    if {$err} {
		.console insert insert "$result\n" stderr
	    } else {
		.console insert insert "$result\n"
	    }
	}
	tixConsoleHistory reset
	tixConsolePrompt
    } else {
	tixConsolePrompt partial
    }
    if {$setend} {
	.console yview -pickplace insert
    }
}

# tixConsoleHistory --
# This procedure implements command line history for the
# console.  In general is evals the history command in the
# main interpreter to obtain the history.  The global variable
# histNum is used to store the current location in the history.
#
# Arguments:
# cmd -	Which action to take: prev, next, reset.

set histNum 1
proc tixConsoleHistory {cmd} {
    if ![winfo exists .console] tixConsoleInit

    global histNum
    
    switch $cmd {
    	prev {
	    incr histNum -1
	    if {$histNum == 0} {
		set cmd {history event [expr [history nextid] -1]}
	    } else {
		set cmd "history event $histNum"
	    }
    	    if {[catch {interp eval $cmd} cmd]} {
    	    	incr histNum
    	    	return
    	    }
	    .console delete promptEnd end
    	    .console insert promptEnd $cmd {input stdin}
    	}
    	next {
	    incr histNum
	    if {$histNum == 0} {
		set cmd {history event [expr [history nextid] -1]}
	    } elseif {$histNum > 0} {
		set cmd ""
		set histNum 1
	    } else {
		set cmd "history event $histNum"
	    }
	    if {$cmd != ""} {
		catch {interp eval $cmd} cmd
	    }
	    .console delete promptEnd end
	    .console insert promptEnd $cmd {input stdin}
    	}
    	reset {
    	    set histNum 1
    	}
    }
}

# tixConsolePrompt --
# This procedure draws the prompt.  If tcl_prompt1 or tcl_prompt2
# exists in the main interpreter it will be called to generate the 
# prompt.  Otherwise, a hard coded default prompt is printed.
#
# Arguments:
# partial -	Flag to specify which prompt to print.

proc tixConsolePrompt {{partial normal}} {
    if ![winfo exists .console] tixConsoleInit

    if {$partial == "normal"} {
	set temp [.console index "end - 1 char"]
	.console mark set output end
    	if {[interp eval "info exists tcl_prompt1"]} {
    	    interp eval "eval \[set tcl_prompt1\]"
    	} else {
    	    puts -nonewline "% "
    	}
    } else {
	set temp [.console index output]
	.console mark set output end
    	if {[interp eval "info exists tcl_prompt2"]} {
    	    interp eval "eval \[set tcl_prompt2\]"
    	} else {
	    puts -nonewline "> "
    	}
    }

    flush stdout
    .console mark set output $temp
    tkTextSetCursor .console end
    .console mark set promptEnd insert
    .console mark gravity promptEnd left
}

# tixConsoleBind --
# This procedure first ensures that the default bindings for the Text
# class have been defined.  Then certain bindings are overridden for
# the class.
#
# Arguments:
# None.

proc tixConsoleBind {win} {
    if ![winfo exists .console] tixConsoleInit

    bindtags $win "$win Text . all"

    # Ignore all Alt, Meta, and Control keypresses unless explicitly bound.
    # Otherwise, if a widget binding for one of these is defined, the
    # <KeyPress> class binding will also fire and insert the character,
    # which is wrong.  Ditto for <Escape>.

    bind $win <Alt-KeyPress> {# nothing }
    bind $win <Meta-KeyPress> {# nothing}
    bind $win <Control-KeyPress> {# nothing}
    bind $win <Escape> {# nothing}
    bind $win <KP_Enter> {# nothing}

    bind $win <Tab> {
	tixConsoleInsert %W \t
	focus %W
	break
    }
    bind $win <Return> {
	%W mark set insert {end - 1c}
	tixConsoleInsert %W "\n"
	tixConsoleInvoke
	break
    }
    bind $win <Delete> {
	if {[%W tag nextrange sel 1.0 end] != ""} {
	    %W tag remove sel sel.first promptEnd
	} else {
	    if {[%W compare insert < promptEnd]} {
		break
	    }
	}
    }
    bind $win <BackSpace> {
	if {[%W tag nextrange sel 1.0 end] != ""} {
	    %W tag remove sel sel.first promptEnd
	} else {
	    if {[%W compare insert <= promptEnd]} {
		break
	    }
	}
    }
    foreach left {Control-a Home} {
	bind $win <$left> {
	    if {[%W compare insert < promptEnd]} {
		tkTextSetCursor %W {insert linestart}
	    } else {
		tkTextSetCursor %W promptEnd
            }
	    break
	}
    }
    foreach right {Control-e End} {
	bind $win <$right> {
	    tkTextSetCursor %W {insert lineend}
	    break
	}
    }
    bind $win <Control-d> {
	if {[%W compare insert < promptEnd]} {
	    break
	}
    }
    bind $win <Control-k> {
	if {[%W compare insert < promptEnd]} {
	    %W mark set insert promptEnd
	}
    }
    bind $win <Control-t> {
	if {[%W compare insert < promptEnd]} {
	    break
	}
    }
    bind $win <Meta-d> {
	if {[%W compare insert < promptEnd]} {
	    break
	}
    }
    bind $win <Meta-BackSpace> {
	if {[%W compare insert <= promptEnd]} {
	    break
	}
    }
    bind $win <Control-h> {
	if {[%W compare insert <= promptEnd]} {
	    break
	}
    }
    foreach prev {Control-p Up} {
	bind $win <$prev> {
	    tixConsoleHistory prev
	    break
	}
    }
    foreach prev {Control-n Down} {
	bind $win <$prev> {
	    tixConsoleHistory next
	    break
	}
    }
    bind $win <Control-v> {
	if {[%W compare insert > promptEnd]} {
	    catch {
		%W insert insert [selection get -displayof %W] {input stdin}
		%W see insert
	    }
	}
	break
    }
    bind $win <Insert> {
	catch {tixConsoleInsert %W [selection get -displayof %W]}
	break
    }
    bind $win <KeyPress> {
	tixConsoleInsert %W %A
	break
    }
    foreach left {Control-b Left} {
	bind $win <$left> {
	    if {[%W compare insert == promptEnd]} {
		break
	    }
	    tkTextSetCursor %W insert-1c
	    break
	}
    }
    foreach right {Control-f Right} {
	bind $win <$right> {
	    tkTextSetCursor %W insert+1c
	    break
	}
    }
    bind $win <Control-Up> {
	%W yview scroll -1 unit
	break;
    }
    bind $win <Control-Down> {
	%W yview scroll 1 unit
	break;
    }
    bind $win <Prior> {
	%W yview scroll -1 pages
    }
    bind $win <Next> {
	%W yview scroll  1 pages
    }
    bind $win <F9> {
	eval destroy [winfo child .]
	source $tix_library/Console.tcl
    }
    foreach copy {F16 Meta-w Control-i} {
	bind $win <$copy> {
	    if {[selection own -displayof %W] == "%W"} {
		clipboard clear -displayof %W
		catch {
		    clipboard append -displayof %W [selection get -displayof %W]
		}
	    }
	    break
	}
    }
    foreach paste {F18 Control-y} {
	bind $win <$paste> {
	    catch {
	        set clip [selection get -displayof %W -selection CLIPBOARD]
		set list [split $clip \n\r]
		tixConsoleInsert %W [lindex $list 0]
		foreach x [lrange $list 1 end] {
		    %W mark set insert {end - 1c}
		    tixConsoleInsert %W "\n"
		    tixConsoleInvoke
		    tixConsoleInsert %W $x
		}
	    }
	    break
	}
    }
}

# tixConsoleInsert --
# Insert a string into a text at the point of the insertion cursor.
# If there is a selection in the text, and it covers the point of the
# insertion cursor, then delete the selection before inserting.  Insertion
# is restricted to the prompt area.
#
# Arguments:
# w -		The text window in which to insert the string
# s -		The string to insert (usually just a single character)

proc tixConsoleInsert {w s} {
    if ![winfo exists .console] tixConsoleInit

    if {[.console dlineinfo insert] != {}} {
	set setend 1
    } else {
	set setend 0
    }
    if {$s == ""} {
	return
    }
    catch {
	if {[$w compare sel.first <= insert]
		&& [$w compare sel.last >= insert]} {
	    $w tag remove sel sel.first promptEnd
	    $w delete sel.first sel.last
	}
    }
    if {[$w compare insert < promptEnd]} {
	$w mark set insert end	
    }
    $w insert insert $s {input stdin}
    if $setend {
	.console see insert
    }
}



# tixConsoleOutput --
#
# This routine is called directly by ConsolePutsCmd to cause a string
# to be displayed in the console.
#
# Arguments:
# dest -	The output tag to be used: either "stderr" or "stdout".
# string -	The string to be displayed.

proc tixConsoleOutput {dest string} {
    if ![winfo exists .console] tixConsoleInit

    if {[.console dlineinfo insert] != {}} {
	set setend 1
    } else {
	set setend 0
    }
    .console insert output $string $dest
    if $setend {
	.console see insert
    }
}

# tixConsoleExit --
#
# This routine is called by ConsoleEventProc when the main window of
# the application is destroyed.
#
# Arguments:
# None.

proc tixConsoleExit {} {
    if ![winfo exists .console] tixConsoleInit

    exit
}

# Configure the default Tk console
proc tixConsoleEvalAppend {inter} {
    global tixOption
    # A slave like the console interp has no global variables set!
    
    if {!$inter} {
	console hide

	# Change the menubar to Close the console instead of exiting
	# Your code must provide a way for the user to do a "console show"
	console eval {
	    if {[winfo exists .menubar.file]} {
		.menubar.file entryconfigure "Hide Console" \
			-underline 0 \
			-label Close \
			-command [list wm withdraw .]
		.menubar.file entryconfigure Exit -state disabled
	    }
	}
    }

    console eval ".option configure -font \{$tixOption(fixed_font)\}"

    console eval {
	if {[winfo exists .menubar.edit]} {
	    .menubar.edit add sep
	    .menubar.edit add command \
		    -accelerator 'Ctrl+l' \
		    -underline 0 \
		    -label Clear \
		    -command [list .console delete 1.0 end]
	    bind .console <Control-Key-l> [list .console delete 1.0 end]
	}
	if {![winfo exists .menubar.font]} {
	    set m .menubar.font
	    menu $m -tearoff 0
	    .menubar add cascade -menu .menubar.font \
		    -underline 0 -label Options

	    global _TixConsole
	    set font [font actual [.console cget -font]]
	    set pos [lsearch $font -family]
	    set _TixConsole(font) [lindex $font [incr pos]]
	    set pos [lsearch $font -size]
	    set _TixConsole(size) [lindex $font [incr pos]]
	    set pos [lsearch $font -weight]
	    set _TixConsole(weight) [lindex $font [incr pos]]

	    set allowed {System Fixedsys Terminal {MS Serif} 
	    {MS Sans Serif} Courier {Lucida Console} Tahoma 
	    Arial {Courier New} {Times New Roman} 
	    {Arial Black} Verdana  Garamond  {Arial Narrow}}
	    .menubar.font add cascade -label Font -menu $m.font
	    menu $m.font -tearoff 0
	    foreach font [lsort [font families]] {
		if {[lsearch $allowed $font] < 0} {continue}
		$m.font add radiobutton -label $font \
			-variable _TixConsole(font) \
			-value $font \
			-command \
			".console configure -font \"\{$font\} \$_TixConsole(size) \$_TixConsole(weight)\""
	    }

	    .menubar.font add cascade -label Size -menu $m.size
	    menu $m.size -tearoff 0
	    foreach size {8 9 10 12 14 16 18} {
		$m.size add radiobutton -label $size \
			-variable _TixConsole(size) \
			-value $size \
			-command \
			".console configure -font \"\{\$_TixConsole(font)\} $size \$_TixConsole(weight)\""
	    }

	    .menubar.font add cascade -label Weight -menu $m.weight
	    menu $m.weight -tearoff 0
	    foreach weight {normal bold} {
		$m.weight add radiobutton -label [string totit $weight] \
			-variable _TixConsole(weight) \
			-value $weight \
			-command \
			".console configure -font \"\{\$_TixConsole(font)\} \$_TixConsole(size) $weight\""
	    }

	}
    }
}
PKqm�[:�~�$�$Tix8.4.3/OptMenu.tclnu�[���# -*- mode: TCL; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*-
#
#	$Id: OptMenu.tcl,v 1.3 2001/12/09 05:04:02 idiscovery Exp $
#
# OptMenu.tcl --
#
#	This file implements the TixOptionMenu widget.
#
# Copyright (c) 1993-1999 Ioi Kim Lam.
# Copyright (c) 2000-2001 Tix Project Group.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#


tixWidgetClass tixOptionMenu {
    -classname TixOptionMenu
    -superclass tixLabelWidget
    -method {
	add delete disable enable entrycget entryconfigure entries
    }
    -flag {
	-command -disablecallback -dynamicgeometry -value -variable
	-validatecmd -state
    }
    -forcecall {
	-variable -state
    }
    -configspec {
	{-command command Command ""}
	{-disablecallback disableCallback DisableCallback 0 tixVerifyBoolean}
	{-dynamicgeometry dynamicGeometry DynamicGeometry 0 tixVerifyBoolean}
	{-state state State normal}
	{-value value Value ""}
	{-validatecmd validateCmd ValidateCmd ""}
	{-variable variable Variable ""}
    }
    -default {
	{.highlightThickness			0}
	{.takeFocus				0}
	{.frame.menubutton.relief		raised}
	{.frame.menubutton.borderWidth		2}
	{.frame.menubutton.anchor		w}
	{.frame.menubutton.highlightThickness	2}
	{.frame.menubutton.takeFocus		1}
    }
}

proc tixOptionMenu:InitWidgetRec {w} {
    upvar #0 $w data

    tixChainMethod $w InitWidgetRec
 
    set data(nItems)	0
    set data(items)     ""
    set data(posted)	0
    set data(varInited)	0
    set data(maxWidth)  0
}

proc tixOptionMenu:ConstructFramedWidget {w frame} {
    upvar #0 $w data

    tixChainMethod $w ConstructFramedWidget $frame

    set data(w:menubutton) [menubutton $frame.menubutton -indicatoron 1]
    set data(w:menu)       [menu $frame.menubutton.menu -tearoff 0]
    pack $data(w:menubutton) -side left -expand yes -fill both

    $data(w:menubutton) config -menu $data(w:menu)

    bind $data(w:menubutton) <Up>   [bind Menubutton <space>]
    bind $data(w:menubutton) <Down> [bind Menubutton <space>]

    tixSetMegaWidget $data(w:menubutton) $w
}

proc tixOptionMenu:SetBindings {w} {
    upvar #0 $w data

    tixChainMethod $w SetBindings
}

#----------------------------------------------------------------------
# Private methods
#----------------------------------------------------------------------
proc tixOptionMenu:Invoke {w name} {
    upvar #0 $w data

    if {"$data(-state)" == "normal"} {
	tixOptionMenu:SetValue $w $name
    }
}

proc tixOptionMenu:SetValue {w value {noUpdate 0}} {
    upvar #0 $w data

    if {$data(-validatecmd) != ""} {
	set value [tixEvalCmdBinding $w $data(-validatecmd) "" $value]
    }

    set name $value

    if {$name == "" || [info exists data(varInited)]} {
	# variable may contain a bogus value
	if {![info exists data($name,index)]} {
	    set data(-value) ""
	    tixVariable:UpdateVariable $w
	    $data(w:menubutton) config -text ""
	    return
	}
    }

    if {[info exists data($name,index)]} {
       $data(w:menubutton) config -text $data($name,label)

       set data(-value) $value

       if {! $noUpdate} {
	   tixVariable:UpdateVariable $w
       }

       if {$data(-command) != "" && !$data(-disablecallback)} {
	   if {![info exists data(varInited)]} {
	       set bind(specs) ""
	       tixEvalCmdBinding $w $data(-command) bind $value
	   }
       }
    } else {
	error "item \"$value\" does not exist"
    }
}

proc tixOptionMenu:SetMaxWidth {w} {
    upvar #0 $w data

    foreach name $data(items) {
	set len [string length $data($name,label)]
	if {$data(maxWidth) < $len} {
	    set data(maxWidth) $len
	}
    }

    if {$data(maxWidth) > 0} {
	$data(w:menubutton) config -width $data(maxWidth)
    }
}

#----------------------------------------------------------------------
# Configuration
#----------------------------------------------------------------------
proc tixOptionMenu:config-state {w value} {
    upvar #0 $w data

    if {![info exists data(w:label)]} {
	return
    }

    if {$value == "normal"} {
	catch {
	    $data(w:label) config -fg \
		[$data(w:menubutton) cget -foreground]
	}
	$data(w:menubutton) config -state $value
    } else {
	catch {
	    $data(w:label) config -fg \
		[$data(w:menubutton) cget -disabledforeground]
	}
	$data(w:menubutton) config -state $value
    }
}

proc tixOptionMenu:config-value {w value} {
    upvar #0 $w data

    tixOptionMenu:SetValue $w $value

    # This will tell the Intrinsics: "Please use this value"
    # because "value" might be altered by SetValues
    #
    return $data(-value)
}

proc tixOptionMenu:config-variable {w arg} {
    upvar #0 $w data

    if {[tixVariable:ConfigVariable $w $arg]} {
       # The value of data(-value) is changed if tixVariable:ConfigVariable 
       # returns true
       tixOptionMenu:SetValue $w $data(-value) 1
    }
    catch {
	unset data(varInited)
    }
    set data(-variable) $arg
}

#----------------------------------------------------------------------
# Public Methdos
#----------------------------------------------------------------------
proc tixOptionMenu:add {w type name args} {
    upvar #0 $w data

    if {[info exists data($name,index)]} {
	error "item $name already exists in the option menu $w"
    }

    case $type {
	"command" {
	    set validOptions {
		-command -label
	    }
	    set opt(-command)		""
	    set opt(-label)		$name

	    tixHandleOptions -nounknown opt $validOptions $args

	    if {$opt(-command)	!= ""} {
		error "option -command cannot be specified"
	    }

	    # Create a new item inside the menu
	    #
	    eval $data(w:menu) add command $args \
		[list -label $opt(-label) \
		-command "tixOptionMenu:Invoke $w \{$name\}"]
	    set index $data(nItems)

	    # Store info about this item
	    #
	    set data($index,name) $name
	    set data($name,type) cmd
	    set data($name,label) $opt(-label)
	    set data($name,index) $index

	    if {$index == 0} {
		$data(w:menubutton) config -text $data($name,label)
		tixOptionMenu:SetValue $w $name
	    }

	    incr data(nItems)
	    lappend data(items) $name

	    if $data(-dynamicgeometry) {
		tixOptionMenu:SetMaxWidth $w
	    }
	}
	"separator" {
	    $data(w:menu) add separator

	    set index $data(nItems)
	    # Store info about this item
	    #
	    set data($index,name) $name
	    set data($name,type) sep
	    set data($name,label) ""
	    set data($name,index) $index

	    incr data(nItems)
	    lappend data(items) $name
	}
	default {
	    error "only types \"separator\" and \"command\" are allowed"
	}
    }

    return ""
}

proc tixOptionMenu:delete {w item} {
    upvar #0 $w data

    if {![info exists data($item,index)]} {
	error "item $item does not exist in $w"
    }

    # Rehash the item list
    set newItems ""
    set oldIndex 0
    set newIndex 0
    foreach name $data(items) {
	if {$item == $name} {
	    unset data($name,label)
	    unset data($name,index)
	    unset data($name,type)
	    $data(w:menu) delete $oldIndex
	} else {
	    set data($name,index)    $newIndex
	    set data($newIndex,name) $name
	    incr newIndex
	    lappend newItems $name
	}
	incr oldIndex
    }
    incr oldIndex -1; unset data($oldIndex,name)
    set data(nItems) $newIndex
    set data(items) $newItems

    if {$data(-value) == $item} {
	set newVal ""
	foreach item $data(items) {
	    if {$data($item,type) == "cmd"} {
		set newVal $item
	    }
	}
	tixOptionMenu:SetValue $w $newVal
    }

    return ""
}


proc tixOptionMenu:disable {w item} {
    upvar #0 $w data

    if {![info exists data($item,index)]} {
	error "item $item does not exist in $w"
    } else {
	catch {$data(w:menu) entryconfig $data($item,index) -state disabled}
    }
}

proc tixOptionMenu:enable {w item} {
    upvar #0 $w data

    if {![info exists data($item,index)]} {
	error "item $item does not exist in $w"
    } else {
	catch {$data(w:menu) entryconfig $data($item,index) -state normal}
    }
}

proc tixOptionMenu:entryconfigure {w item args} {
    upvar #0 $w data

    if {![info exists data($item,index)]} {
	error "item $item does not exist in $w"
    } else {
	return [eval $data(w:menu) entryconfig $data($item,index) $args]
    }
}

proc tixOptionMenu:entrycget {w item arg} {
    upvar #0 $w data

    if {![info exists data($item,index)]} {
	error "item $item does not exist in $w"
    } else {
	return [$data(w:menu) entrycget $data($item,index) $arg]
    }
}

proc tixOptionMenu:entries {w} {
    upvar #0 $w data

    return $data(items)
}


proc tixOptionMenu:Destructor {w} {

    tixVariable:DeleteVariable $w

    # Chain this to the superclass
    #
    tixChainMethod $w Destructor
}

#----------------------------------------------------------------------
# Obsolete
# These have been replaced by new commands in Tk 4.0
#
proc tixOptionMenu:Post {w} {
    upvar #0 $w data

    set rootx [winfo rootx $data(w:frame)]
    set rooty [winfo rooty $data(w:frame)]

    # adjust for the border of the menu and frame
    #
    incr rootx [lindex [$data(w:menu)  config -border] 4]
    incr rooty [lindex [$data(w:frame) config -border] 4]
    incr rooty [lindex [$data(w:menu)  config -border] 4]

    set value $data(-value)
    set y [$data(w:menu) yposition $data($value,index)]

    $data(w:menu) post $rootx [expr $rooty - $y]
    $data(w:menu) activate $data($value,index)
    grab -global $data(w:menubutton)
    set data(posted) 1
}
PKqm�[@lP��%�%Tix8.4.3/VStack.tclnu�[���# -*- mode: TCL; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*-
#
#	$Id: VStack.tcl,v 1.4 2004/03/28 02:44:57 hobbs Exp $
#
# VStack.tcl --
#
#	Virtual base class, do not instantiate!  This is the core
#	class for all NoteBook style widgets. Stack maintains a list
#	of windows. It provides methods to create, delete windows as
#	well as stepping through them.
#
# Copyright (c) 1993-1999 Ioi Kim Lam.
# Copyright (c) 2000-2001 Tix Project Group.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#
#


tixWidgetClass tixVStack {
    -virtual true
    -classname TixVStack
    -superclass tixPrimitive
    -method {
	add delete pageconfigure pagecget pages raise raised
    }
    -flag {
	-dynamicgeometry -ipadx -ipady
    }
    -configspec {
	{-dynamicgeometry dynamicGeometry DynamicGeometry 0 tixVerifyBoolean}
	{-ipadx ipadX Pad 0}
	{-ipady ipadY Pad 0}
    }
}

proc tixVStack:InitWidgetRec {w} {
    upvar #0 $w data

    tixChainMethod $w InitWidgetRec

    set data(pad-x1) 0
    set data(pad-x2) 0
    set data(pad-y1) 0
    set data(pad-y2) 0

    set data(windows)  ""
    set data(nWindows) 0
    set data(topchild) ""

    set data(minW)   1
    set data(minH)   1

    set data(w:top)  $w
    set data(counter) 0
    set data(repack) 0
}

proc tixVStack:SetBindings {w} {
    upvar #0 $w data

    tixChainMethod $w SetBindings
    tixCallMethod $w InitGeometryManager
}

#----------------------------------------------------------------------
# Public methods
#----------------------------------------------------------------------
proc tixVStack:add {w child args} {
    upvar #0 $w data

    set validOptions {-createcmd -raisecmd}

    set opt(-createcmd)  ""
    set opt(-raisecmd)   ""

    tixHandleOptions -nounknown opt $validOptions $args

    set data($child,raisecmd)  $opt(-raisecmd)
    set data($child,createcmd) $opt(-createcmd)

    set data(w:$child) [tixCallMethod $w CreateChildFrame $child]

    lappend data(windows) $child
    incr data(nWindows) 1

    return $data(w:$child) 
}

proc tixVStack:delete {w child} {
    upvar #0 $w data

    if {[info exists data($child,createcmd)]} {
	if {[winfo exists $data(w:$child)]} {
	    bind $data(w:$child) <Destroy> {;}
	    destroy $data(w:$child)
	}
	catch {unset data($child,createcmd)}
	catch {unset data($child,raisecmd)}
	catch {unset data(w:$child)}

	set index [lsearch $data(windows) $child]
	if {$index >= 0} {
	    set data(windows) [lreplace $data(windows) $index $index]
	    incr data(nWindows) -1
	}

	if {[string equal $data(topchild) $child]} {
	    set data(topchild) ""
	    foreach page $data(windows) {
		if {$page ne $child} {
		    $w raise $page
		    set data(topchild) $page
		    break
		}
	    }
	}
    } else {
	error "page $child does not exist"
    }
}

proc tixVStack:pagecget {w child option} {
    upvar #0 $w data

    if {![info exists data($child,createcmd)]} {
	error "page \"$child\" does not exist in $w"
    }

    case $option {
	-createcmd {
	    return "$data($child,createcmd)"
	}
	-raisecmd {
	    return "$data($child,raisecmd)"
	}
	default {
	    if {$data(w:top) ne $w} {
		return [$data(w:top) pagecget $child $option]
	    } else {
		error "unknown option \"$option\""
	    }
	}
    }
}

proc tixVStack:pageconfigure {w child args} {
    upvar #0 $w data

    if {![info exists data($child,createcmd)]} {
	error "page \"$child\" does not exist in $w"
    }

    set len [llength $args]

    if {$len == 0} {
	set value [$data(w:top) pageconfigure $child]
	lappend value [list -createcmd "" "" "" $data($child,createcmd)]
	lappend value [list -raisecmd "" "" "" $data($child,raisecmd)]
	return $value
    }

    if {$len == 1} {
	case [lindex $args 0] {
	    -createcmd {
		return [list -createcmd "" "" "" $data($child,createcmd)]
	    }
	    -raisecmd {
		return [list -raisecmd "" "" "" $data($child,raisecmd)]
	    }
	    default {
		return [$data(w:top) pageconfigure $child [lindex $args 0]]
	    }
	}
    }

    # By default handle each of the options
    #
    set opt(-createcmd)  $data($child,createcmd)
    set opt(-raisecmd)   $data($child,raisecmd)

    tixHandleOptions -nounknown opt {-createcmd -raisecmd} $args

    #
    # the widget options
    set new_args ""
    foreach {flag value} $args {
	if {$flag ne "-createcmd" && $flag ne "-raisecmd"} {
	    lappend new_args $flag
	    lappend new_args $value
	}
    }

    if {[llength $new_args] >= 2} {
	eval $data(w:top) pageconfig $child $new_args
    }

    #
    # The add-on options
    set data($child,raisecmd)  $opt(-raisecmd)
    set data($child,createcmd) $opt(-createcmd)

    return ""
}

proc tixVStack:pages {w} {
    upvar #0 $w data

    return $data(windows)
}

proc tixVStack:raise {w child} {
    upvar #0 $w data

    if {![info exists data($child,createcmd)]} {
	error "page $child does not exist"
    }

    if {[llength $data($child,createcmd)]} {
	uplevel #0 $data($child,createcmd)
	set data($child,createcmd) ""
    }

    tixCallMethod $w RaiseChildFrame $child

    set oldTopChild $data(topchild)
    set data(topchild) $child

    if {$oldTopChild ne $child} {
	if {[llength $data($child,raisecmd)]} {
 	    uplevel #0 $data($child,raisecmd)
	}
    }
}

proc tixVStack:raised {w} {
    upvar #0 $w data

    return $data(topchild)
}

#----------------------------------------------------------------------
# Virtual Methods
#----------------------------------------------------------------------
proc tixVStack:InitGeometryManager {w} {
    upvar #0 $w data

    bind $w <Configure> "tixVStack:MasterGeomProc $w"
    bind $data(w:top) <Destroy> "+tixVStack:DestroyTop $w"

    if {$data(repack) == 0} {
	set data(repack) 1
	tixWidgetDoWhenIdle tixCallMethod $w Resize
    }
}

proc tixVStack:CreateChildFrame {w child} {
    upvar #0 $w data

    set f [frame $data(w:top).$child]

    tixManageGeometry $f "tixVStack:ClientGeomProc $w"
    bind $f <Configure> "tixVStack:ClientGeomProc $w -configure $f"
    bind $f <Destroy>   "$w delete $child"

    return $f
}

proc tixVStack:RaiseChildFrame {w child} {
    upvar #0 $w data

    # Hide the original visible window
    if {$data(topchild) ne "" && $data(topchild) ne $child} {
	tixUnmapWindow $data(w:$data(topchild))
    }

    set myW [winfo width  $w]
    set myH [winfo height $w]

    set cW [expr {$myW - $data(pad-x1) - $data(pad-x2) - 2*$data(-ipadx)}]
    set cH [expr {$myH - $data(pad-y1) - $data(pad-y2) - 2*$data(-ipady)}]
    set cX [expr {$data(pad-x1) + $data(-ipadx)}]
    set cY [expr {$data(pad-y1) + $data(-ipady)}]

    if {$cW > 0 && $cH > 0} {
	tixMoveResizeWindow $data(w:$child) $cX $cY $cW $cH
	tixMapWindow $data(w:$child)
	raise $data(w:$child)
    }
}



#----------------------------------------------------------------------
#
#	    G E O M E T R Y   M A N A G E M E N T
#
#----------------------------------------------------------------------
proc tixVStack:DestroyTop {w} {
    catch {
	destroy $w
    }
}

proc tixVStack:MasterGeomProc {w args} {
    if {![winfo exists $w]} {
	return
    }

    upvar #0 $w data

    if {$data(repack) == 0} {
	set data(repack) 1
	tixWidgetDoWhenIdle tixCallMethod $w Resize
    }
}

proc tixVStack:ClientGeomProc {w flag client} {
    if {![winfo exists $w]} {
	return
    }
    upvar #0 $w data

    if {$data(repack) == 0} {
	set data(repack) 1
	tixWidgetDoWhenIdle tixCallMethod $w Resize
    }

    if {$flag eq "-lostslave"} {
	error "Geometry Management Error: \
Another geometry manager has taken control of $client.\
This error is usually caused because a widget has been created\
in the wrong frame: it should have been created inside $client instead\
of $w"
    }
}

proc tixVStack:Resize {w} {
    if {![winfo exists $w]} {
	return
    }

    upvar #0 $w data

    if {$data(nWindows) == 0} {
	set data(repack) 0
	return
    }

    if {$data(-width) == 0 || $data(-height) == 0} {
	if {!$data(-dynamicgeometry)} {
	    # Calculate my required width and height
	    #
	    set maxW 1
	    set maxH 1

	    foreach child $data(windows) {
		set cW [winfo reqwidth  $data(w:$child)]
		set cH [winfo reqheight $data(w:$child)]

		if {$maxW < $cW} {
		    set maxW $cW
		}
		if {$maxH < $cH} {
		    set maxH $cH
		}
	    }
	    set reqW $maxW
	    set reqH $maxH
	} else {
	    if {$data(topchild) ne ""} {
		set reqW [winfo reqwidth  $data(w:$data(topchild))]
		set reqH [winfo reqheight $data(w:$data(topchild))]
	    } else {
		set reqW 1
		set reqH 1
	    }
	}

	incr reqW [expr {$data(pad-x1) + $data(pad-x2) + 2*$data(-ipadx)}]
	incr reqH [expr {$data(pad-y1) + $data(pad-y2) + 2*$data(-ipady)}]

	if {$reqW < $data(minW)} {
	    set reqW $data(minW)
	}
	if {$reqH < $data(minH)} {
	    set reqH $data(minH)
	}
    }
    # These take higher precedence
    #
    if {$data(-width)  != 0} {
	set reqW $data(-width)
    }
    if {$data(-height) != 0} {
	set reqH $data(-height)
    }

    if {[winfo reqwidth $w] != $reqW || [winfo reqheight $w] != $reqH} {
	if {![info exists data(counter)]} {
	    set data(counter) 0
	}
        if {$data(counter) < 50} {
            incr data(counter)
	    tixGeometryRequest $w $reqW $reqH
	    tixWidgetDoWhenIdle tixCallMethod $w Resize
	    set data(repack) 1
	    return
	}
    }
    set data(counter) 0

    if {$data(w:top) ne $w} {
	tixMoveResizeWindow $data(w:top) 0 0 [winfo width $w] [winfo height $w]
	tixMapWindow $data(w:top)
    }

    if {[string equal $data(topchild) ""]} {
	set top [lindex $data(windows) 0]
    } else {
	set top $data(topchild)
    }

    if {$top ne ""} {
	tixCallMethod $w raise $top
    }

    set data(repack) 0
}
PKqm�[�՞�Tix8.4.3/DirDlg.tclnu�[���# -*- mode: TCL; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*-
#
#	$Id: DirDlg.tcl,v 1.3 2001/12/09 05:04:02 idiscovery Exp $
#
# DirDlg.tcl --
#
#	Implements the Directory Selection Dialog widget.
#
# Copyright (c) 1993-1999 Ioi Kim Lam.
# Copyright (c) 2000-2001 Tix Project Group.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#

tixWidgetClass tixDirSelectDialog {
    -classname TixDirSelectDialog
    -superclass tixDialogShell
    -method {}
    -flag   {
	-command
    }
    -configspec {
	{-command command Command ""}
	{-title title Title "Select A Directory"}
    }

    -default {
	{*ok.text		"OK"}
	{*ok.underline		0}
	{*ok.width		6}
	{*cancel.text		"Cancel"}
	{*cancel.underline	0}
	{*cancel.width		6}
	{*dirbox.borderWidth	1}
	{*dirbox.relief		raised}
    }
}

proc tixDirSelectDialog:ConstructWidget {w} {
    upvar #0 $w data

    tixChainMethod $w ConstructWidget

    # the buttons
    frame $w.f -relief raised -bd 1
    set data(w:ok)     [button $w.f.ok -command \
	"tixDirSelectDialog:OK $w"]
    set data(w:cancel) [button $w.f.cancel -command \
	"tixDirSelectDialog:Cancel $w"]

    pack $data(w:ok) $data(w:cancel) -side left -expand yes -padx 10 -pady 8
    pack $w.f -side bottom -fill x
    # the dir select box
    set data(w:dirbox) [tixDirSelectBox $w.dirbox \
	-command [list tixDirSelectDialog:DirBoxCmd $w]]
    pack $data(w:dirbox) -expand yes -fill both
}

proc tixDirSelectDialog:SetBindings {w} {
    upvar #0 $w data

    tixChainMethod $w SetBindings

    bind $w <Alt-Key-d> "focus [$data(w:dirbox) subwidget dircbx]"
}

proc tixDirSelectDialog:OK {w} {
    upvar #0 $w data

    wm withdraw $w
    $data(w:dirbox) subwidget dircbx invoke
}

proc tixDirSelectDialog:DirBoxCmd {w args} {
    upvar #0 $w data

    set value [tixEvent flag V]
    wm withdraw $w
    tixDirSelectDialog:CallCmd $w $value
}

proc tixDirSelectDialog:CallCmd {w value} {
    upvar #0 $w data

    if {$data(-command) != ""} {
	set bind(specs) "%V"
	set bind(%V) $value
	tixEvalCmdBinding $w $data(-command) bind $value
    }
}

proc tixDirSelectDialog:Cancel {w} {
    wm withdraw $w
}
PKqm�[��__Tix8.4.3/LabEntry.tclnu�[���# -*- mode: TCL; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*-
#
#	$Id: LabEntry.tcl,v 1.4 2004/03/28 02:44:57 hobbs Exp $
#
# LabEntry.tcl --
#
# 	TixLabelEntry Widget: an entry box with a label
#
# Copyright (c) 1993-1999 Ioi Kim Lam.
# Copyright (c) 2000-2001 Tix Project Group.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#


tixWidgetClass tixLabelEntry {
    -classname TixLabelEntry
    -superclass tixLabelWidget
    -method {
    }
    -flag {
	-disabledforeground -state
    }
    -forcecall {
	-state
    }
    -static {
    }
    -configspec {
	{-disabledforeground disabledForeground DisabledForeground #303030}
	{-state state State normal}
    }
    -default {
	{.borderWidth 			0}
	{*entry.relief			sunken}
	{*entry.width			7}
	{*label.anchor			e}
	{*label.borderWidth		0}
    }
}

proc tixLabelEntry:ConstructFramedWidget {w frame} {
    upvar #0 $w data

    tixChainMethod $w ConstructFramedWidget $frame

    set data(w:entry)  [entry $frame.entry]
    pack $data(w:entry) -side left -expand yes -fill both

    # This value is used to configure the disable/normal fg of the ebtry
    #
    set data(entryfg) [$data(w:entry) cget -fg]
    set data(labelfg) [$data(w:label) cget -fg]
}

proc tixLabelEntryBind {} {
  tixBind TixLabelEntry <FocusIn>  {
    if {[focus -displayof [set %W(w:entry)]] ne [set %W(w:entry)]} {
	focus [%W subwidget entry]
	[set %W(w:entry)] selection from 0
	[set %W(w:entry)] selection to end
	[set %W(w:entry)] icursor end
    }
  }
}


#----------------------------------------------------------------------
#                           CONFIG OPTIONS
#----------------------------------------------------------------------
proc tixLabelEntry:config-state {w value} {
    upvar #0 $w data

    if {$value == "normal"} {
	catch {
	    $data(w:label) config -fg $data(labelfg)
	}
	$data(w:entry) config -state $value -fg $data(entryfg)
    } else {
	catch {
	    $data(w:label) config -fg $data(-disabledforeground)
	}
	$data(w:entry) config -state $value -fg $data(-disabledforeground)
    }
}
PKqm�[5	ooTix8.4.3/Event.tclnu�[���# -*- mode: TCL; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*-
#
#	$Id: Event.tcl,v 1.6 2004/04/09 21:37:01 hobbs Exp $
#
# Event.tcl --
#
#	Handles the event bindings of the -command and -browsecmd options
#	(and various of others such as -validatecmd).
#
# Copyright (c) 1993-1999 Ioi Kim Lam.
# Copyright (c) 2000-2001 Tix Project Group.
# Copyright (c) 2004 ActiveState
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#

#----------------------------------------------------------------------
# Evaluate high-level bindings (-command, -browsecmd, etc):
# with % subsitution or without (compatibility mode)
#
#
# BUG : if a -command is intercepted by a hook, the hook must use
#       the same record name as the issuer of the -command. For the time
#	being, you must use the name "bind" as the record name!!!!!
#
#----------------------------------------------------------------------

namespace eval ::tix {
    variable event_flags ""
    set evs [list % \# a b c d f h k m o p s t w x y A B E K N R S T W X Y]
    foreach ev $evs {
	lappend event_flags "%$ev"
    }

    # This is a "name stack" for storing the "bind" structures
    #
    # The bottom of the event stack is usually a raw event (generated by
    # tixBind) but it may also be a programatically triggered (caused by
    # tixEvalCmdBinding)
    variable EVENT
    set EVENT(nameStack)	""
    set EVENT(stackLevel)	0
}

proc tixBind {tag event action} {
    set cmd [linsert $::tix::event_flags 0 _tixRecordFlags $event]
    append cmd "; $action; _tixDeleteFlags;"

    bind $tag $event $cmd
}

proc tixPushEventStack {} {
    variable ::tix::EVENT

    set lastEvent [lindex $EVENT(nameStack) 0]
    incr EVENT(stackLevel)
    set thisEvent ::tix::_event$EVENT(stackLevel)

    set EVENT(nameStack) [list $thisEvent $EVENT(nameStack)]

    if {$lastEvent == ""} {
	upvar #0 $thisEvent this
	set this(type) <Application>
    } else {
	upvar #0 $lastEvent last
	upvar #0 $thisEvent this

	foreach name [array names last] {
	    set this($name) $last($name)
	}
    }

    return $thisEvent
}

proc tixPopEventStack {varName} {
    variable ::tix::EVENT

    if {$varName ne [lindex $EVENT(nameStack) 0]} {
	error "unmatched tixPushEventStack and tixPopEventStack calls"
    }
    incr EVENT(stackLevel) -1
    set EVENT(nameStack) [lindex $EVENT(nameStack) 1]
    global $varName
    unset $varName
}


# Events triggered by tixBind
#
proc _tixRecordFlags [concat event $::tix::event_flags] {
    set thisName [tixPushEventStack]; upvar #0 $thisName this

    set this(type) $event
    foreach f $::tix::event_flags {
	set this($f) [set $f]
    }
}

proc _tixDeleteFlags {} {
    variable ::tix::EVENT

    tixPopEventStack [lindex $EVENT(nameStack) 0]
}

# programatically trigged events
#
proc tixEvalCmdBinding {w cmd {subst ""} args} {
    global tixPriv tix
    variable ::tix::EVENT

    set thisName [tixPushEventStack]; upvar #0 $thisName this

    if {$subst != ""} {
	upvar $subst bind

	if {[info exists bind(specs)]} {
	    foreach spec $bind(specs) {
		set this($spec) $bind($spec)
	    }
	}
	if {[info exists bind(type)]} {
	    set this(type) $bind(type)
	}
    }

    if {[catch {
	if {![info exists tix(-extracmdargs)]
	    || [string is true -strict $tix(-extracmdargs)]} {
	    # Compatibility mode
	    set ret [uplevel \#0 $cmd $args]
	} else {
	    set ret [uplevel 1 $cmd]
	}
    } error]} {
	if {[catch {tixCmdErrorHandler $error} error]} {
	    # double fault: just print out 
	    tixBuiltInCmdErrorHandler $error
	}
	tixPopEventStack $thisName
	return ""
    } else {
	tixPopEventStack $thisName

	return $ret
    }
}

proc tixEvent {option args} {
    global tixPriv
    variable ::tix::EVENT
    set varName [lindex $EVENT(nameStack) 0]

    if {$varName == ""} {
	error "tixEvent called when no event is being processed"
    } else {
	upvar #0 $varName event
    }

    switch -exact -- $option {
	type {
	    return $event(type)
	}
	value {
	    if {[info exists event(%V)]} {
		return $event(%V)
	    } else {
		return ""
	    }
	}
	flag {
	    set f %[lindex $args 0]
	    if {[info exists event($f)]} {
		return $event($f)
	    }
	    error "The flag \"[lindex $args 0]\" does not exist"
	}
	match {
	    return [string match [lindex $args 0] $event(type)]
	}
	default {
	    error "unknown option \"$option\""
	}
    }
}

# tixBuiltInCmdErrorHandler --
#
#	Default method to report command handler errors. This procedure is
#	also called if double-fault happens (command handler causes error,
#	then tixCmdErrorHandler causes error).
#
proc tixBuiltInCmdErrorHandler {errorMsg} {
    global errorInfo tcl_platform
    if {![info exists errorInfo]} {
	set errorInfo "???"
    }
    if {$tcl_platform(platform) eq "windows"} {
	bgerror "Tix Error: $errorMsg"
    } else {
	puts "Error:\n $errorMsg\n$errorInfo"
    }
}

# tixCmdErrorHandler --
#
#	You can redefine this command to handle the errors that occur
#	in the command handlers. See the programmer's documentation
#	for details
#
if {![llength [info commands tixCmdErrorHandler]]} {
    proc tixCmdErrorHandler {errorMsg} {
	tixBuiltInCmdErrorHandler $errorMsg
    }
}

PKqm�[�7ND::Tix8.4.3/Shell.tclnu�[���# -*- mode: TCL; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*-
#
#	$Id: Shell.tcl,v 1.2 2001/12/09 05:04:02 idiscovery Exp $
#
# Shell.tcl --
#
#	This is the base class to all shell widget
#
# Copyright (c) 1993-1999 Ioi Kim Lam.
# Copyright (c) 2000-2001 Tix Project Group.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#

#
# type : normal, transient, overrideredirect
#
tixWidgetClass tixShell {
    -superclass tixPrimitive
    -classname  TixShell
    -flag {
	-title
    }
    -configspec {
	{-title title Title ""}
    }
    -forcecall {
	-title
    }
}

#----------------------------------------------------------------------
# ClassInitialization:
#----------------------------------------------------------------------
proc tixShell:CreateRootWidget {w args} {
    upvar #0 $w data
    upvar #0 $data(className) classRec

    toplevel $w -class $data(ClassName)
    wm transient $w ""
    wm withdraw $w
}

proc tixShell:config-title {w value} {
    wm title $w $value
}
PKqm�[�rhhTix8.4.3/FloatEnt.tclnu�[���# -*- mode: TCL; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*-
#
#	$Id: FloatEnt.tcl,v 1.4 2004/03/28 02:44:57 hobbs Exp $
#
# FloatEnt.tcl --
#
#	An entry widget that can be attached on top of any widget to
#	provide dynamic editing. It is used to provide dynamic editing
#	for the tixGrid widget, among other things.
#
# Copyright (c) 1993-1999 Ioi Kim Lam.
# Copyright (c) 2000-2001 Tix Project Group.
# Copyright (c) 2004 ActiveState
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#

tixWidgetClass tixFloatEntry {
    -classname TixFloatEntry
    -superclass tixPrimitive
    -method {
	invoke post unpost
    }
    -flag {
	-command -value
    }
    -configspec {
	{-value value Value ""}
	{-command command Command ""}
    }
    -default {
	{.entry.highlightThickness	0}
    }
}

#----------------------------------------------------------------------
#
#	Initialization bindings
#
#----------------------------------------------------------------------

proc tixFloatEntry:InitWidgetRec {w} {
    upvar #0 $w data

    tixChainMethod $w InitWidgetRec
}

proc tixFloatEntry:ConstructWidget {w} {
    upvar #0 $w data

    tixChainMethod $w ConstructWidget
    set data(w:entry) [entry $w.entry]
    pack $data(w:entry) -expand yes -fill both
}

proc tixFloatEntry:SetBindings {w} {
    upvar #0 $w data

    tixChainMethod $w SetBindings
    tixBind $data(w:entry) <Return> [list tixFloatEntry:invoke $w]
}

#----------------------------------------------------------------------
#
#	Class bindings
#
#----------------------------------------------------------------------

proc tixFloatEntryBind {} {
    tixBind TixFloatEntry <FocusIn>  {
      if {[focus -displayof [set %W(w:entry)]] ne [set %W(w:entry)]} {
	  focus [%W subwidget entry]
	  [set %W(w:entry)] selection from 0
	  [set %W(w:entry)] selection to end
	  [set %W(w:entry)] icursor end
      }
    }
}

#----------------------------------------------------------------------
#
#	Public methods
#
#----------------------------------------------------------------------
proc tixFloatEntry:post {w x y {width ""} {height ""}} {
    upvar #0 $w data

    if {$width == ""} {
	set width [winfo reqwidth $data(w:entry)]
    }
    if {$height == ""} {
	set height [winfo reqheight $data(w:entry)]
    }

    place $w -x $x -y $y -width $width -height $height -bordermode ignore
    raise $w
    focus $data(w:entry)
}

proc tixFloatEntry:unpost {w} {
    upvar #0 $w data

    place forget $w
}

proc tixFloatEntry:config-value {w val} {
    upvar #0 $w data

    $data(w:entry) delete 0 end
    $data(w:entry) insert 0 $val

    $data(w:entry) selection from 0
    $data(w:entry) selection to end
    $data(w:entry) icursor end
}
#----------------------------------------------------------------------
#
#	Private methods
#
#----------------------------------------------------------------------

proc tixFloatEntry:invoke {w} {
    upvar #0 $w data

    if {[llength $data(-command)]} {
	set bind(specs) {%V}
	set bind(%V)    [$data(w:entry) get]

	tixEvalCmdBinding $w $data(-command) bind $bind(%V)
    }
}
PKqm�[�xj\��Tix8.4.3/DefSchm.tclnu�[���# -*- mode: TCL; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*-
#
#	$Id: DefSchm.tcl,v 1.2 2001/12/09 05:04:02 idiscovery Exp $
#
# DefSchm.tcl --
#
#	Implements the default color and font schemes for Tix.
#
# Copyright (c) 1993-1999 Ioi Kim Lam.
# Copyright (c) 2000-2001 Tix Project Group.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#

proc tixSetDefaultFontset {} {
    global tixOption tcl_platform

    switch -- $tcl_platform(platform) "windows" {
	# This should be Tahoma for Win2000/XP
	set font "MS Sans Serif"
	set fixedfont "Courier New"
	set size 8
     } unix {
	set font "helvetica"
	set fixedfont "courier"
	set size -12
    }

    set tixOption(font)         [list $font $size]
    set tixOption(bold_font)    [list $font $size bold]
    set tixOption(menu_font)    [list $font $size]
    set tixOption(italic_font)  [list $font $size bold italic]
    set tixOption(fixed_font)   [list $fixedfont $size]
    set tixOption(border1)      1
}

proc tixSetDefaultScheme-Color {} {
    global tixOption

    set tixOption(bg)           #d9d9d9
    set tixOption(fg)           black

    set tixOption(dark1_bg)     #c3c3c3
    set tixOption(dark1_fg)     black
    set tixOption(dark2_bg)     #a3a3a3
    set tixOption(dark2_fg)     black
    set tixOption(inactive_bg)  #a3a3a3
    set tixOption(inactive_fg)  black

    set tixOption(light1_bg)    #ececec
    set tixOption(light1_fg)    white
    set tixOption(light2_bg)    #fcfcfc
    set tixOption(light2_fg)    white

    set tixOption(active_bg)    $tixOption(dark1_bg)
    set tixOption(active_fg)    $tixOption(fg)
    set tixOption(disabled_fg)  gray55

    set tixOption(input1_bg)    #d9d9d9
    set tixOption(input2_bg)    #d9d9d9
    set tixOption(output1_bg)   $tixOption(dark1_bg)
    set tixOption(output2_bg)   $tixOption(bg)

    set tixOption(select_fg)    black
    set tixOption(select_bg)    #c3c3c3

    set tixOption(selector)	#b03060
}

proc tixSetDefaultScheme-Mono {} {

    global tixOption

    set tixOption(bg)           lightgray
    set tixOption(fg)           black

    set tixOption(dark1_bg)     gray70
    set tixOption(dark1_fg)     black
    set tixOption(dark2_bg)     gray60
    set tixOption(dark2_fg)     white
    set tixOption(inactive_bg)  lightgray
    set tixOption(inactive_fg)  black

    set tixOption(light1_bg)    gray90
    set tixOption(light1_fg)    white
    set tixOption(light2_bg)    gray95
    set tixOption(light2_fg)    white

    set tixOption(active_bg)    gray90
    set tixOption(active_fg)    $tixOption(fg)
    set tixOption(disabled_fg)  gray55

    set tixOption(input1_bg)    $tixOption(light1_bg)
    set tixOption(input2_bg)    $tixOption(light1_bg)
    set tixOption(output1_bg)   $tixOption(light1_bg)
    set tixOption(output2_bg)   $tixOption(light1_bg)

    set tixOption(select_fg)    white
    set tixOption(select_bg)    black

    set tixOption(selector)	black
}
PKqm�[�::Tix8.4.3/CObjView.tclnu�[���# -*- mode: TCL; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*-
#
#	$Id: CObjView.tcl,v 1.3 2001/12/09 05:04:02 idiscovery Exp $
#
# CObjView.tcl --
#
#	This file implements the Canvas Object View widget. This is a base
#	class of IconView. It implements:

#	(1) Automatic placement/adjustment of the scrollbars according
#	to the canvas objects inside the canvas subwidget. The
#	scrollbars are adjusted so that the canvas is just large
#	enough to see all the objects.
#
#	(2) D+D bindings of the objects (%% not implemented)
#
#	(3) Keyboard traversal of the objects (%% not implemented). By the
#	virtual method :SelectObject.
#
#
# Copyright (c) 1993-1999 Ioi Kim Lam.
# Copyright (c) 2000-2001 Tix Project Group.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#

tixWidgetClass tixCObjView {
    -classname TixCObjView
    -superclass tixScrolledWidget
    -method {
	adjustscrollregion
    }
    -flag {
	-xscrollincrement -yscrollincrement
    }
    -static {
    }
    -configspec {
	{-xscrollincrement xScrollIncrement ScrollIncrement 10}
	{-yscrollincrement yScrollIncrement ScrollIncrement 10}
    }
    -default {
	{.scrollbar			auto}
	{*borderWidth			1}
	{*canvas.background		#c3c3c3}
	{*canvas.highlightBackground	#d9d9d9}
	{*canvas.relief			sunken}
	{*canvas.takeFocus		1}
	{*Scrollbar.takeFocus		0}
    }
    -forcecall {
	-scrollbar
    }
}

proc tixCObjView:ConstructWidget {w} {
    upvar #0 $w data

    tixChainMethod $w ConstructWidget

    set data(w:canvas) \
	[canvas $w.canvas]
    set data(w:hsb) \
	[scrollbar $w.hsb -orient horizontal]
    set data(w:vsb) \
	[scrollbar $w.vsb -orient vertical]

    set data(pw:client) $data(w:canvas)

    set data(xorig) 0
    set data(yorig) 0

    set data(sx1) 0
    set data(sy1) 0
    set data(sx2) 0
    set data(sy2) 0
}

proc tixCObjView:SetBindings {w} {
    upvar #0 $w data

    tixChainMethod $w SetBindings

# %% scan/drag of canvas??
#
#    $data(w:canvas) config \
#	-xscrollcommand "tixCObjView:XScroll $w"\
#	-yscrollcommand "tixCObjView:YScroll $w"

    $data(w:hsb) config -command "tixCObjView:UserScroll $w x"
    $data(w:vsb) config -command "tixCObjView:UserScroll $w y"
}

#----------------------------------------------------------------------
#
#		option configs
#----------------------------------------------------------------------
proc tixCObjView:config-takefocus {w value} {
    upvar #0 $w data
  
    $data(w:canvas) config -takefocus $value
}	

#----------------------------------------------------------------------
#
#		Widget commands
#----------------------------------------------------------------------
proc tixCObjView:adjustscrollregion {w} {
    upvar #0 $w data

    set cW [tixWinWidth  $data(w:canvas)]
    set cH [tixWinHeight $data(w:canvas)]

    tixCObjView:GetScrollRegion $w $cW $cH 1 1
}

#----------------------------------------------------------------------
#
#		Private Methods
#----------------------------------------------------------------------

proc tixCObjView:GeometryInfo {w cW cH} {
    upvar #0 $w data

    set bd \
	[expr [$data(w:canvas) cget -bd] + [$data(w:canvas) cget -highlightthickness]]

    incr cW -[expr {2*$bd}]
    incr cH -[expr {2*$bd}]

    return [tixCObjView:GetScrollRegion $w $cW $cH 0 0]
}

proc tixCObjView:PlaceWindow {w} {
    upvar #0 $w data

    set cW [tixWinWidth  $data(w:canvas)]
    set cH [tixWinHeight $data(w:canvas)]

    tixCObjView:GetScrollRegion $w $cW $cH 1 0

    tixChainMethod $w PlaceWindow
}

proc tixCObjView:GetScrollRegion {w cW cH setReg callConfig} {
    upvar #0 $w data

    set x1max $data(xorig)
    set y1max $data(yorig)

    set x2min [expr {$x1max + $cW - 1}]
    set y2min [expr {$y1max + $cH - 1}]
 
    set bbox [$data(w:canvas) bbox all]

    if {$bbox == ""} {
	set bbox {0 0 1 1}
    }

    set x1 [lindex $bbox 0]
    set y1 [lindex $bbox 1]
    set x2 [lindex $bbox 2]
    set y2 [lindex $bbox 3]

    set bd \
	[expr [$data(w:canvas) cget -bd] + [$data(w:canvas) cget -highlightthickness]]

    incr x1 -$bd
    incr y1 -$bd
    incr x2 -$bd
    incr y2 -$bd

    if {$x1 > $x1max} {
	set x1 $x1max
    }
    if {$y1 > $y1max} {
	set y1 $y1max
    }
    if {$x2 < $x2min} {
	set x2 $x2min
    }
    if {$y2 < $y2min} {
	set y2 $y2min
    }

    set data(sx1) $x1
    set data(sy1) $y1
    set data(sx2) $x2
    set data(sy2) $y2

    set sW [expr {$x2 - $x1 + 1}]
    set sH [expr {$y2 - $y1 + 1}]

#    puts "sregion = {$x1 $y1 $x2 $y2}; sW=$sW; cW=$cW"

    if {$sW > $cW} {
	set hsbSpec {0.5 1}
    } else {
	set hsbSpec {0 1}
    }
    if {$sH > $cH} {
	set vsbSpec {0.5 1}
    } else {
	set vsbSpec {0 1}
    }

    if $setReg {
	tixCObjView:SetScrollBars $w $cW $cH $sW $sH
    }
    if $callConfig {
	tixWidgetDoWhenIdle tixScrolledWidget:Configure $w
    }

    return [list $hsbSpec $vsbSpec]
}

#xF = xFirst
#
proc tixCObjView:SetScrollBars {w cW cH sW sH} {
    upvar #0 $w data

#    puts "$data(xorig) <--> $data(sx1)"

    set xF [expr ($data(xorig).0-$data(sx1).0)/$sW.0]
    set xL [expr $cW.0/$sW.0 + $xF]

    set yF [expr ($data(yorig).0-$data(sy1).0)/$sH.0]
    set yL [expr $cH.0/$sH.0 + $yF]

#    puts "$xF $xL : $yF $yL"
    $data(w:hsb) set $xF $xL    
    $data(w:vsb) set $yF $yL    
}

proc tixCObjView:UserScroll {w dir type args} {
    upvar #0 $w data

    $data(w:canvas) config -xscrollincrement 1 -yscrollincrement 1

    case $dir {
	x {
	    set n $data(xorig)
	    set orig $data(xorig)
	    set s1 $data(sx1)
	    set total [expr {$data(sx2)-$data(sx1)}]
	    set page  [tixWinWidth $data(w:canvas)]
	    set min $data(sx1)
	    set max [expr {$data(sx1)+$total-$page}]
	    set inc $data(-xscrollincrement)
	}
	y {
	    set n $data(yorig)
	    set orig $data(yorig)
	    set s1 $data(sy1)
	    set total [expr {$data(sy2)-$data(sy1)}]
	    set page  [tixWinHeight $data(w:canvas)]
	    set min $data(sy1)
	    set max [expr {$data(sy1)+$total-$page}]
	    set inc $data(-yscrollincrement)
	}
    }
	    
    case $type {
	scroll {
	    set amt  [lindex $args 0] 
	    set unit [lindex $args 1] 

	    case $unit {
		units {
		    incr n [expr int($inc)*$amt]
		}
		pages {
		    incr n [expr {$page*$amt}]
		}
	    }
	}
	moveto {
	    set first [lindex $args 0] 
	    set n [expr round($first*$total)+$s1]
	}
    }

    if {$n < $min} {
	set n $min
    }
    if {$n > $max} {
	set n $max
    }

#    puts "n=$n min=$min max=$max"

    case $dir {
	x {
	    $data(w:canvas) xview scroll [expr {$n-$orig}] units
	    set data(xorig) $n
	}
	y {
	    $data(w:canvas) yview scroll [expr {$n-$orig}] units
	    set data(yorig) $n
	}
    }

    set cW [tixWinWidth $data(w:canvas)]
    set cH [tixWinHeight $data(w:canvas)]
    set sW [expr {$data(sx2)-$data(sx1)+1}]
    set sH [expr {$data(sy2)-$data(sy1)+1}]

    tixCObjView:SetScrollBars $w $cW $cH $sW $sH
}

# Junk
#
#
proc tixCObjView:XScroll {w first last} {
    upvar #0 $w data

    set sc [$data(w:canvas) cget -scrollregion]
    if {$sc == ""} {
	set x1 1
	set x2 [tixWinWidth $data(w:canvas)]
    } else {
	set x1 [lindex $sc 0]
	set x2 [lindex $sc 2]
    }
    
    set W [expr {$x2 - $x1}]
    if {$W < 1} {
	set W 1
    }

    $data(w:hsb) set $first $last

#    tixWidgetDoWhenIdle tixScrolledWidget:Configure $w
}

# Junk
#
proc tixCObjView:YScroll {w first last} {
    upvar #0 $w data

    set sc [$data(w:canvas) cget -scrollregion]

    if {$sc == ""} {
	set y1 1
	set y2 [tixWinHeight $data(w:canvas)]
    } else {
	set y1 [lindex $sc 1]
	set y2 [lindex $sc 3]
    }
    
    set H [expr {$y2 - $y1}]
    if {$H < 1} {
	set H 1
    }

    $data(w:vsb) set $first $last

#   tixWidgetDoWhenIdle tixScrolledWidget:Configure $w
}
PKqm�[����3�3Tix8.4.3/Balloon.tclnu�[���# -*- mode: TCL; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*-
#
#	$Id: Balloon.tcl,v 1.7 2008/02/27 22:17:28 hobbs Exp $
#
# Balloon.tcl --
#
#	The help widget. It provides both "balloon" type of help
#	message and "status bar" type of help message. You can use
#	this widget to indicate the function of the widgets inside
#	your application.
#
# Copyright (c) 1993-1999 Ioi Kim Lam.
# Copyright (c) 2000-2001 Tix Project Group.
# Copyright (c) 2004 ActiveState
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#


tixWidgetClass tixBalloon {
    -classname TixBalloon
    -superclass tixShell
    -method {
	bind post unbind
    }
    -flag {
	-installcolormap -initwait -state -statusbar -cursor
    }
    -configspec {
	{-installcolormap installColormap InstallColormap false}
	{-initwait initWait InitWait 1000}
	{-state state State both}
	{-statusbar statusBar StatusBar ""}
 	{-cursor cursor Cursor {}}
    }
    -default {
	{*background 			#ffff60}
	{*foreground 			black}
	{*borderWidth 			0}
	{.borderWidth 			1}
	{.background 			black}
	{*Label.anchor			w}
	{*Label.justify			left}
    }
}
# static seem to be -installcolormap -initwait -statusbar -cursor

# Class Record
#
global tixBalloon
set tixBalloon(bals) ""

proc tixBalloon:InitWidgetRec {w} {
    upvar #0 $w data
    global tixBalloon

    tixChainMethod $w InitWidgetRec

    set data(isActive)    0
    set data(client)    ""

    lappend tixBalloon(bals) $w
}

proc tixBalloon:ConstructWidget {w} {
    upvar #0 $w data

    tixChainMethod $w ConstructWidget

    if {[tk windowingsystem] eq "aqua"} {
	::tk::unsupported::MacWindowStyle style $w help none
    } else {
	wm overrideredirect $w 1
    }
    catch {wm attributes $w -topmost 1}
    wm positionfrom $w program
    wm withdraw $w

    # Frame 1 : arrow
    frame $w.f1 -bd 0
    set data(w:label) [label $w.f1.lab -bd 0 -relief flat \
			   -bitmap [tix getbitmap balarrow]]
    pack $data(w:label) -side left -padx 1 -pady 1
    
    # Frame 2 : Message
    frame $w.f2 -bd 0
    set data(w:message) [label $w.f2.message -padx 0 -pady 0 -bd 0]
    pack $data(w:message) -side left -expand yes -fill both -padx 10 -pady 1

    # Pack all
    pack $w.f1 -fill both
    pack $w.f2 -fill both

    # This is an event tag used by the clients
    #
    bind TixBal$w <Destroy> [list tixBalloon:ClientDestroy $w %W]
}

proc tixBalloon:Destructor {w} {
    global tixBalloon

    set bals ""
    foreach b $tixBalloon(bals) {
	if {$w != $b} {
	    lappend bals $b
	}
    }
    set tixBalloon(bals) $bals

    tixChainMethod $w Destructor
}

#----------------------------------------------------------------------
# Config:
#----------------------------------------------------------------------
proc tixBalloon:config-state {w value} {
    upvar #0 $w data

    set re {^(none|balloon|status|both)$}
    if {![regexp -- $re $value]} {
	error "invalid value $value, must be none, balloon, status, or both"
    }
}

#----------------------------------------------------------------------
# "RAW" event bindings:
#----------------------------------------------------------------------

bind all <B1-Motion> 	    "+tixBalloon_XXMotion %X %Y 1"
bind all <B2-Motion> 	    "+tixBalloon_XXMotion %X %Y 2"
bind all <B3-Motion> 	    "+tixBalloon_XXMotion %X %Y 3"
bind all <B4-Motion> 	    "+tixBalloon_XXMotion %X %Y 4"
bind all <B5-Motion> 	    "+tixBalloon_XXMotion %X %Y 5"
bind all <Any-Motion> 	    "+tixBalloon_XXMotion %X %Y 0"
# Should %b be 0? %b is illegal
bind all <Leave>      	    "+tixBalloon_XXMotion %X %Y 0"
bind all <Button>      	    "+tixBalloon_XXButton   %X %Y %b"
bind all <ButtonRelease>    "+tixBalloon_XXButtonUp %X %Y %b"

proc tixBalloon_XXMotion {rootX rootY b} {
    global tixBalloon

    foreach w $tixBalloon(bals) {
	tixBalloon:XXMotion $w $rootX $rootY $b
    }
}

proc tixBalloon_XXButton {rootX rootY b} {
    global tixBalloon

    foreach w $tixBalloon(bals) {
	tixBalloon:XXButton $w $rootX $rootY $b
    }
}

proc tixBalloon_XXButtonUp {rootX rootY b} {
    global tixBalloon

    foreach w $tixBalloon(bals) {
	tixBalloon:XXButtonUp $w $rootX $rootY $b
    }
}

# return true if d is a descendant of w
#
proc tixIsDescendant {w d} {
    return [expr {$w eq "." || [string match $w.* $d]}]
}

# All the button events are fine if the ballooned widget is
# a descendant of the grabbing widget
#
proc tixBalloon:GrabBad {w cw} {
    global tixBalloon

    set g [grab current $w]
    if {$g == ""} {
	return 0
    }
    if {[info exists tixBalloon(g_ignore,$g)]} {
	return 1
    }
    if {[info exists tixBalloon(g_ignore,[winfo class $g])]} {
	return 1
    }
    if {$g == $cw || [tixIsDescendant $g $cw]} {
	return 0
    }
    return 1
}

proc tixBalloon:XXMotion {w rootX rootY b} {
    upvar #0 $w data

    if {![info exists data(-state)]} {
	# puts "tixBalloon:XXMotion called without a state\n$w"
	set data(state) none
	return
    }
    if {$data(-state) eq "none"} {
	return
    }

    if {$b == 0} {
	if {[info exists data(b:1)]} {unset data(b:1)}
	if {[info exists data(b:2)]} {unset data(b:2)}
	if {[info exists data(b:3)]} {unset data(b:3)}
	if {[info exists data(b:4)]} {unset data(b:4)}
	if {[info exists data(b:5)]} {unset data(b:5)}
    }

    if {[llength [array names data b:*]]} {
	# Some buttons are down. Do nothing
	#
	return
    }

    set cw [winfo containing -displayof $w $rootX $rootY]
    if {[tixBalloon:GrabBad $w $cw]} {
	return
    }

    # Find the a client window that matches
    #
    if {$w eq $cw || [string match $w.* $cw]} {
	# Cursor moved over the balloon -- Ignore
	return
    }

    while {$cw != ""} {
	if {[info exists data(m:$cw)]} {
	    set client $cw
	    break
	} else {
	    set cw [winfo parent $cw]
	}
    }
    if {![info exists client]} {
	# The cursor is at a position covered by a non-client
	# Popdown the balloon if it is up
	if {$data(isActive)} {
	    tixBalloon:Deactivate $w
	}
	set data(client) ""
	if {[info exists data(cancel)]} {
	    unset data(cancel) 
	}
	return
    }

    if {$data(client) ne $client} {
	if {$data(isActive)} {
	    tixBalloon:Deactivate $w
	}
	set data(client) $client
	after $data(-initwait) tixBalloon:SwitchToClient $w $client
    }
}

proc tixBalloon:XXButton {w rootX rootY b} {
    upvar #0 $w data

    tixBalloon:XXMotion $w $rootX $rootY $b

    set data(b:$b) 1

    if {$data(isActive)} {
	tixBalloon:Deactivate $w
    } else {
	set data(cancel) 1
    }
}

proc tixBalloon:XXButtonUp {w rootX rootY b} {
    upvar #0 $w data

    tixBalloon:XXMotion $w $rootX $rootY $b
    if {[info exists data(b:$b)]} {
	unset data(b:$b)
    }
}

#----------------------------------------------------------------------
# "COOKED" event bindings:
#----------------------------------------------------------------------

# switch the balloon to a new client
#
proc tixBalloon:SwitchToClient {w client} {
    upvar #0 $w data

    if {![winfo exists $w]} {
	return
    }
    if {![winfo exists $client]} {
	return
    }
    if {$client ne $data(client)} {
	return
    }
    if {[info exists data(cancel)]} {
	unset data(cancel)
	return
    }

    if {[tixBalloon:GrabBad $w $w]} {
	return
    }

    tixBalloon:Activate $w
}

proc tixBalloon:ClientDestroy {w client} {
    if {![winfo exists $w]} {
	return
    }

    upvar #0 $w data

    if {$data(client) eq $client} {
	tixBalloon:Deactivate $w
	set data(client) ""
    }

    # Maybe thses have already been unset by the Destroy method
    #
    if {[info exists data(m:$client)]} {unset data(m:$client)}
    if {[info exists data(s:$client)]} {unset data(s:$client)}
}

#----------------------------------------------------------------------
# Popping up balloon:
#----------------------------------------------------------------------
proc tixBalloon:Activate {w} {
    upvar #0 $w data

    if {[tixBalloon:GrabBad $w $w]} {
	return
    }
    if {[winfo containing -displayof $w \
	    [winfo pointerx $w] [winfo pointery $w]] == ""} {
	return
    }

    if {![info exists data(-state)]} {
	# puts "tixBalloon:Activate called without a state\n$w"
	set data(state) none
	return
    }
    if {$data(-state) eq "none"} {
	return
    }

    switch -exact -- $data(-state) {
	"both" {
	    tixBalloon:PopUp $w
	    tixBalloon:SetStatus $w
	}
	"balloon" {
	    tixBalloon:PopUp $w
	}
	"status" {
	    tixBalloon:SetStatus $w
	}
    }

    set data(isActive) 1

    after 200 tixBalloon:Verify $w
}


# %% Perhaps this is no more needed
#
proc tixBalloon:Verify {w} {
    upvar #0 $w data

    if {![winfo exists $w]} {
	return
    }
    if {!$data(isActive)} {
	return
    }

    if {[tixBalloon:GrabBad $w $w]} {
	tixBalloon:Deactivate $w
	return
    }
    if {[winfo containing -displayof $w \
	    [winfo pointerx $w] [winfo pointery $w]] == ""} {
	tixBalloon:Deactivate $w
	return
    }
    after 200 tixBalloon:Verify $w
}

proc tixBalloon:Deactivate {w} {
    upvar #0 $w data

    tixBalloon:PopDown $w
    tixBalloon:ClearStatus $w
    set data(isActive) 0
    if {[info exists data(cancel)]} {
	unset data(cancel)
    }
}

proc tixBalloon:PopUp {w} {
    upvar #0 $w data

    if {[string is true -strict $data(-installcolormap)]} {
	wm colormapwindows [winfo toplevel $data(client)] $w
    }

    # trick: the following lines allow the balloon window to
    # acquire a stable width and height when it is finally
    # put on the visible screen
    #
    set client $data(client)
    if {$data(m:$client) == ""} {return ""}

    $data(w:message) config -text $data(m:$client)
    wm geometry $w +10000+10000
    wm deiconify $w
    raise $w
    update

    # The windows may become destroyed as a result of the "update" command
    #
    if {![winfo exists $w]} {
	return
    }
    if {![winfo exists $client]} {
	return
    }
    # Put it on the visible screen
    #
    set x [expr {[winfo rootx $client]+[winfo width  $client]/2}]
    set y [expr {int([winfo rooty $client]+[winfo height $client]/1.3)}]

    set width  [winfo reqwidth $w]
    set height [winfo reqheight $w]
    set scrwidth  [winfo vrootwidth  $w]
    set scrheight [winfo vrootheight $w]

    # If the balloon is too far right, pull it back to the left
    #
    if {($x + $width) > $scrwidth} {
	set x [expr {$scrwidth - $width}]
    }

    # If the balloon is too far left, pull it back to the right
    #
    if {$x < 0} {
	set x 0
    }

    # If the listbox is below bottom of screen, put it upwards
    #
    if {($y + $height) > $scrheight} {
	set y [expr {$scrheight-$height}]
    }
    if {$y < 0} {
	set y 0
    }

    wm geometry $w +$x+$y
    after idle raise $w
}

proc tixBalloon:PopDown {w} {
    upvar #0 $w data

    # Close the balloon
    #
    wm withdraw $w

    # We don't set the data(client) to be zero, so that the balloon
    # will re-appear only if you move out then in the client window
    # set data(client) ""
}

proc tixBalloon:SetStatus {w} {
    upvar #0 $w data

    if {![winfo exists $data(-statusbar)]
	|| ![info exists data(s:$data(client))]} {
	return
    }

    set vv [$data(-statusbar) cget -textvariable]
    if {$vv == ""} {
	$data(-statusbar) config -text $data(s:$data(client))
    } else {
	uplevel #0 set $vv [list $data(s:$data(client))]
    }
}

proc tixBalloon:ClearStatus {w} {
    upvar #0 $w data

    if {![winfo exists $data(-statusbar)]} {
	return
    }

    # Clear the StatusBar widget
    #
    set vv [$data(-statusbar) cget -textvariable]
    if {$vv == ""} {
	$data(-statusbar) config -text ""
    } else {
	uplevel #0 set $vv [list ""]
    }
}

#----------------------------------------------------------------------
# PublicMethods:
#----------------------------------------------------------------------

# %% if balloon is already popped-up for this client, change mesage
#
proc tixBalloon:bind {w client args} {
    upvar #0 $w data

    set alreadyBound [info exists data(m:$client)]

    set opt(-balloonmsg) ""
    set opt(-statusmsg)  ""
    set opt(-msg)        ""

    tixHandleOptions opt {-balloonmsg -msg -statusmsg} $args

    if {$opt(-balloonmsg) != ""} {
	set data(m:$client) $opt(-balloonmsg)
    } else {
	set data(m:$client) $opt(-msg)
    }
    if {$opt(-statusmsg) != ""} {
	set data(s:$client) $opt(-statusmsg)
    } else {
	set data(s:$client) $opt(-msg)
    }

    tixAppendBindTag $client TixBal$w
}

proc tixBalloon:post {w client} {
    upvar #0 $w data

    if {![info exists data(m:$client)] || $data(m:$client) == ""} {
	return
    }
    tixBalloon:Enter $w $client
    incr data(fakeEnter)
}

proc tixBalloon:unbind {w client} {
    upvar #0 $w data

    if {[info exists data(m:$client)]} {
	if {[info exists data(m:$client)]} {unset data(m:$client)}
	if {[info exists data(s:$client)]} {unset data(s:$client)}

	if {[winfo exists $client]} {
	    catch {tixDeleteBindTag $client TixBal$w}
	}
    }
}

#----------------------------------------------------------------------
#
# Utility function
#
#----------------------------------------------------------------------
#
# $w can be a widget name or a classs name
proc tixBalIgnoreWhenGrabbed {wc} {
    global tixBalloon
    set tixBalloon(g_ignore,$wc) ""
}

tixBalIgnoreWhenGrabbed TixComboBox
tixBalIgnoreWhenGrabbed Menu
tixBalIgnoreWhenGrabbed Menubutton
PKqm�[��Ҽ��Tix8.4.3/EFileDlg.tclnu�[���# -*- mode: TCL; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*-
#
#	$Id: EFileDlg.tcl,v 1.3 2002/01/24 09:13:58 idiscovery Exp $
#
# EFileDlg.tcl --
#
#	Implements the Extended File Selection Dialog widget.
#
# Copyright (c) 1993-1999 Ioi Kim Lam.
# Copyright (c) 2000-2001 Tix Project Group.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#

foreach fun {tkButtonInvoke} {
    if {![llength [info commands $fun]]} {
	tk::unsupported::ExposePrivateCommand $fun
    }
}
unset fun

tixWidgetClass tixExFileSelectDialog {
    -classname TixExFileSelectDialog
    -superclass tixDialogShell
    -method {}
    -flag   {
	-command
    }
    -configspec {
	{-command command Command ""}

	{-title title Title "Select A File"}
    }
}

proc tixExFileSelectDialog:ConstructWidget {w} {
    upvar #0 $w data

    tixChainMethod $w ConstructWidget
    set data(w:fsbox) [tixExFileSelectBox $w.fsbox -dialog $w \
	-command $data(-command)]
    pack $data(w:fsbox) -expand yes -fill both


}

proc tixExFileSelectDialog:config-command {w value} {
    upvar #0 $w data

    $data(w:fsbox) config -command $value
}

proc tixExFileSelectDialog:SetBindings {w} {
    upvar #0 $w data

    tixChainMethod $w SetBindings

    bind $w <Alt-Key-f> "focus [$data(w:fsbox) subwidget file]"
    bind $w <Alt-Key-t> "focus [$data(w:fsbox) subwidget types]"
    bind $w <Alt-Key-d> "focus [$data(w:fsbox) subwidget dir]"
    bind $w <Alt-Key-o> "tkButtonInvoke [$data(w:fsbox) subwidget ok]"
    bind $w <Alt-Key-c> "tkButtonInvoke [$data(w:fsbox) subwidget cancel]"
    bind $w <Alt-Key-s> "tkButtonInvoke [$data(w:fsbox) subwidget hidden]"
}
PKqm�[�*°99Tix8.4.3/pref/TK.fscnu�[���#
# $Id: TK.fsc,v 1.2 2001/12/09 05:03:09 idiscovery Exp $
#
proc tixPref:InitFontSet:TK {} { 


    global tixOption

    set tixOption(font)         -Adobe-Helvetica-Medium-R-Normal--*-120-*
    set tixOption(bold_font)    -Adobe-Helvetica-Bold-R-Normal--*-120-*
    set tixOption(menu_font)    -Adobe-Helvetica-Bold-R-Normal--*-120-*
    set tixOption(italic_font)  -Adobe-Helvetica-Bold-O-Normal--*-120-*
    set tixOption(fixed_font) -*-courier-medium-r-*-*-14-*-*-*-*-*-*-*
    set tixOption(border1)      1

}
proc tixPref:SetFontSet:TK {} { 
global tixOption
}
PKqm�[$o���Tix8.4.3/pref/TkWin.fscnu�[���#
# $Id: TkWin.fsc,v 1.2 2001/12/09 05:03:09 idiscovery Exp $
#
proc tixPref:InitFontSet:TkWin {} { 


    global tixOption

    set tixOption(font)         "windows-message"
    set tixOption(bold_font)    "windows-status"
    set tixOption(menu_font)    "windows-menu"
    set tixOption(italic_font)  "windows-message"
    set tixOption(fixed_font)   "systemfixed"
    set tixOption(border1)      1

}
proc tixPref:SetFontSet:TkWin {} { 
global tixOption
option add *Menu.font			$tixOption(menu_font) $tixOption(prioLevel)
option add *TixMenu.font			$tixOption(menu_font) $tixOption(prioLevel)
option add *Menubutton.font			$tixOption(menu_font) $tixOption(prioLevel)
option add *Label.font              	$tixOption(bold_font) $tixOption(prioLevel)
option add *Scale.font			$tixOption(italic_font) $tixOption(prioLevel)
option add *TixBalloon*Label.font 			$tixOption(font) $tixOption(prioLevel)
option add *TixBitmapButton*label.font 			$tixOption(font) $tixOption(prioLevel)
option add *TixControl*label.font              	$tixOption(bold_font) $tixOption(prioLevel)
option add *TixLabelEntry*label.font              	$tixOption(bold_font) $tixOption(prioLevel)
option add *TixLabelFrame*label.font 	 		$tixOption(bold_font) $tixOption(prioLevel)
option add *TixMwmClient*title.font			$tixOption(menu_font) $tixOption(prioLevel)
option add *TixNoteBook.nbframe.font			$tixOption(menu_font) $tixOption(prioLevel)
option add *TixOptionMenu*menubutton.font		$tixOption(font) $tixOption(prioLevel)
option add *TixComboBox*Entry.font				$tixOption(font) $tixOption(prioLevel)
option add *TixFileSelectBox*Label.font            		$tixOption(bold_font) $tixOption(prioLevel)
}
PKqm�[�/���Tix8.4.3/pref/WmDefault.txtnu�[���One of the bad things about Tk/Tkinter is that it does not pick up
the current color and font scheme from the prevailing CDE/KDE/GNOME/Windows 
window manager scheme.

One of the good things about Tk/Tkinter is that it is not tied to one
particular widget set so it could pick up the current color and font scheme 
from the prevailing CDE/KDE/GNOME/Windows window manager scheme.

The WmDefault package is for making Tk/Tkinter applications use the 
prevailing CDE/KDE/GNOME/Windows scheme. It tries to find the files
and/or settings that the current window manager is using, and then
sets the Tk options database accordingly (plus a few other things as well). 


DOWNLOAD
--------

Download the latest version of wm_default from http://tix.sourceforge.net
either as a part of the standard Tix distribution, or as a part of the
Tix Applications: http://tix.sourceforge.net/Tide. wm_default does not
require Tix, but is Tix enabled.


USAGE:
------

For Tix versions 8.1.2 and above from http://tix.sourceforge.net,
WmDefault is the default Tix scheme, so there is nothing else to do.

For Tk applications, it should be sufficent at the beginning of a wish
app to simply:

	    package require wm_default
	    wm_default::setup
	    wm_default::addoptions

The process is divided into 2 steps:

1) find the files and/or settings (::wm_default::setup).
   This is complete for Windows, pretty good for KDE and CDE, and
 still barely supported for GNOME because of the difficulty
 of finding and parsing sawfish definition files.
 setup takes one optional argument: wm, the name of the window manager
 as a string, if known. One of: windows gnome kde1 kde2 cde.

2) Setting the Tk options database (::wm_default::addoptions).
You can override the settings in 1) by adding your values to the call
to addoptions:
   ::wm_default::addoptions -foreground red -background blue

You can examine the settings with
    ::wm_default::getoptions
which returns a Tcl array of the current settings, and
    ::wm_default::parray
which returns a string of the current settings, one value-pair per line.

There are a number of assumptions built into the heuristics of addoptions,
that may need fine tuning. Post patches to http://tix.sourceforge.net.


PYTHON
______

If you are using Tix versions 8.1.2 and above from http://tix.sourceforge.net
with Python 2.1  and above, WmDefault is the default Tix scheme, 
so there is nothing else you need to do.

The easiest way to install WmDefault for Tkinter is to copy the WmDefault.*
AND THE FILE pkgIndex.tcl from lib/tix8.1/pref to a directory on your
PYTHONPATH. Then the following should work:

	    import Tkinter
	    root = Tkinter.Tk()
	    import WmDefault
	    WmDefault.setup(root)
	    WmDefault.addoptions(root, {'foreground': 'red'})
	    print WmDefault.getoptions(root)


SETTINGS
--------

Here is a list of all the settings controlled by WmDefault:
	wm		  	- one of windows gnome kde1 kde2 cde kde
	background		
	foreground		
	disabledforeground		
	disabledbackground		
	textfamily			
	systemfamily		
	menufamily 			
	fixedfamily		
	fontsize		- in pixels under Unix, in points under Windows
	textbackground		
	textforeground		
	disabledtextbackground		
	selectbackground		
	selectforeground		
	selectcolor		
	highlightcolor		
	highlightbackground		
	scrollbars		- scrollbar trough color
	borderwidth		
	priority		
	menubackground		
	menuforeground		
	activebackground		
	activeforeground		
	system_font 		- a Tcl font spec, a list of family size weight
	menu_font 		
	fixed_font 		
	text_font 		
	linkcolor		- not working completely yet
	vlinkcolor
	alinkcolor



TO MAKE A PREVIOUS TIX USE THIS AS THE DEFAULT SCHEME:
------------------------------------------------------

1) Compile Tix with 
	-DTIX_DEF_SCHEME "WmDefault"
	-DTIX_DEF_FONTSET "WmDefault"
or change the defines in generic/tixInit.c 

#define TIX_DEF_SCHEME "WmDefault"
#define TIX_DEF_FONTSET "WmDefault"

2) Edit the installed lib/8.1/Tix.tcl and change the -configspec 
in tixClass tixAppContext with the following
	{-fontset    		WmDefault}
	{-scheme     		WmDefault}

3) Copy the files WmDefault.* AND pkgIndex.tcl to the installed
   lib/tix8.1/pref

4) Make or edit the file lib/tix8.1/pkgIndex.tcl and add the lines

package ifneeded wm_default 1.0 \
	[list source [file join $dir pref WmDefault.tcl]]

PKqm�[�|]Z	X	XTix8.4.3/pref/SGIGray.cscnu�[���#
# $Id: SGIGray.csc,v 1.2 2000/10/12 02:00:00 idiscovery Exp $
#
proc tixPref:SetScheme-Color:SGIGray {} {


    global tixOption

    set tixOption(bg)           lightgray
    set tixOption(fg)           black

    set tixOption(dark1_bg)     gray
    set tixOption(dark1_fg)     black
    set tixOption(dark2_bg)     gray50
    set tixOption(dark2_fg)     black
    set tixOption(inactive_bg)  gray50
    set tixOption(inactive_fg)  black

    set tixOption(light1_bg)    gray90
    set tixOption(light1_fg)    white
    set tixOption(light2_bg)    gray95
    set tixOption(light2_fg)    white

    set tixOption(active_bg)    $tixOption(bg)
    set tixOption(active_fg)    $tixOption(fg)
    set tixOption(disabled_fg)  gray35

    set tixOption(input1_bg)    rosybrown
    set tixOption(input2_bg)    rosybrown
    set tixOption(output1_bg)   $tixOption(dark1_bg)
    set tixOption(output2_bg)   $tixOption(bg)

    set tixOption(select_fg)    black
    set tixOption(select_bg)    lightblue

    set tixOption(selector)	yellow

option add *background 		$tixOption(bg) 10
option add *Background		$tixOption(bg) $tixOption(prioLevel)
option add *background		$tixOption(bg) $tixOption(prioLevel)
option add *Foreground		$tixOption(fg) $tixOption(prioLevel)
option add *foreground		$tixOption(fg) $tixOption(prioLevel)
option add *activeBackground	$tixOption(active_bg) $tixOption(prioLevel)
option add *activeForeground	$tixOption(active_fg) $tixOption(prioLevel)
option add *HighlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *selectBackground	$tixOption(select_bg) $tixOption(prioLevel)
option add *selectForeground	$tixOption(select_fg) $tixOption(prioLevel)
option add *selectBorderWidth	0 $tixOption(prioLevel)
option add *Menu.selectColor		$tixOption(selector) $tixOption(prioLevel)
option add *TixMenu.selectColor		$tixOption(selector) $tixOption(prioLevel)
option add *Menubutton.padY			5 $tixOption(prioLevel)
option add *Button.borderWidth		2 $tixOption(prioLevel)
option add *Button.anchor		c $tixOption(prioLevel)
option add *Checkbutton.selectColor		$tixOption(selector) $tixOption(prioLevel)
option add *Radiobutton.selectColor		$tixOption(selector) $tixOption(prioLevel)
option add *Entry.relief		sunken $tixOption(prioLevel)
option add *Entry.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *Entry.background		$tixOption(input1_bg) $tixOption(prioLevel)
option add *Entry.foreground		black $tixOption(prioLevel)
option add *Entry.insertBackground	black $tixOption(prioLevel)
option add *Label.anchor		w $tixOption(prioLevel)
option add *Label.borderWidth		0 $tixOption(prioLevel)
option add *Listbox.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *Listbox.relief		sunken $tixOption(prioLevel)
option add *Scale.foreground		$tixOption(fg) $tixOption(prioLevel)
option add *Scale.activeForeground	$tixOption(bg) $tixOption(prioLevel)
option add *Scale.background		$tixOption(bg) $tixOption(prioLevel)
option add *Scale.sliderForeground	$tixOption(bg) $tixOption(prioLevel)
option add *Scale.sliderBackground	$tixOption(light1_bg) $tixOption(prioLevel)
option add *Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *Scrollbar.relief		sunken $tixOption(prioLevel)
option add *Scrollbar.borderWidth		1 $tixOption(prioLevel)
option add *Scrollbar.width			15 $tixOption(prioLevel)
option add *Text.background		$tixOption(input1_bg) $tixOption(prioLevel)
option add *Text.relief		sunken $tixOption(prioLevel)
option add *TixBalloon*background 			#ffff60 $tixOption(prioLevel)
option add *TixBalloon*foreground 			black $tixOption(prioLevel)
option add *TixBalloon.background 			black $tixOption(prioLevel)
option add *TixBalloon*Label.anchor 			w $tixOption(prioLevel)
option add *TixControl*entry.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixControl*entry.background		$tixOption(input1_bg) $tixOption(prioLevel)
option add *TixControl*entry.foreground		black $tixOption(prioLevel)
option add *TixControl*entry.insertBackground	black $tixOption(prioLevel)
option add *TixDirTree*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixDirTree*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixDirTree*hlist.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixDirTree*hlist.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixDirTree*hlist.activeBackground	$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixDirTree*hlist.disabledBackground	$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixDirTree*f1.borderWidth		1 $tixOption(prioLevel)
option add *TixDirTree*f1.relief			sunken $tixOption(prioLevel)
option add *TixDirList*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixDirList*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixDirList*hlist.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixDirList*hlist.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixDirList*hlist.activeBackground	$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixDirList*hlist.disabledBackground	$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixDirList*f1.borderWidth		1 $tixOption(prioLevel)
option add *TixDirList*f1.relief			sunken $tixOption(prioLevel)
option add *TixScrolledHList*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledHList*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledHList*hlist.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledHList*hlist.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledHList*hlist.activeBackground	$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledHList*hlist.disabledBackground	$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledHList*f1.borderWidth		1 $tixOption(prioLevel)
option add *TixScrolledHList*f1.relief			sunken $tixOption(prioLevel)
option add *TixTree*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixTree*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixTree*hlist.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixTree*hlist.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixTree*hlist.activeBackground	$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixTree*hlist.disabledBackground	$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixTree*f1.borderWidth		1 $tixOption(prioLevel)
option add *TixTree*f1.relief			sunken $tixOption(prioLevel)
option add *TixFileEntry*Entry.background 		$tixOption(input1_bg) $tixOption(prioLevel)
option add *TixHList.background			$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixHList.activeBackground		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixHList.disabledBackground		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixLabelEntry*entry.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixLabelEntry*entry.background		$tixOption(input1_bg) $tixOption(prioLevel)
option add *TixLabelEntry*entry.foreground		black $tixOption(prioLevel)
option add *TixLabelEntry*entry.insertBackground	black $tixOption(prioLevel)
option add *TixMultiList*Listbox.borderWidth		0 $tixOption(prioLevel)
option add *TixMultiList*Listbox.highlightThickness	0 $tixOption(prioLevel)
option add *TixMultiList*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixMultiList*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixMultiList*Scrollbar.relief		sunken $tixOption(prioLevel)
option add *TixMultiList*Scrollbar.width		15 $tixOption(prioLevel)
option add *TixMultiList*f1.borderWidth		2 $tixOption(prioLevel)
option add *TixMultiList*f1.relief			sunken $tixOption(prioLevel)
option add *TixMultiList*f1.highlightThickness		2 $tixOption(prioLevel)
option add *TixMDIMenuBar*menubar.relief		raised $tixOption(prioLevel)
option add *TixMDIMenuBar*menubar.borderWidth		2 $tixOption(prioLevel)
option add *TixMDIMenuBar*Menubutton.padY 		2 $tixOption(prioLevel)
option add *TixNoteBook.Background			$tixOption(bg) $tixOption(prioLevel)
option add *TixNoteBook.nbframe.Background		$tixOption(bg) $tixOption(prioLevel)
option add *TixNoteBook.nbframe.backPageColor		$tixOption(bg) $tixOption(prioLevel)
option add *TixNoteBook.nbframe.inactiveBackground	$tixOption(inactive_bg) $tixOption(prioLevel)
option add *TixPanedWindow.handleActiveBg 		$tixOption(active_bg) $tixOption(prioLevel)
option add *TixPanedWindow.seperatorBg    		$tixOption(bg) $tixOption(prioLevel)
option add *TixPanedWindow.handleBg       		$tixOption(dark1_bg) $tixOption(prioLevel)
option add *TixPopupMenu*menubutton.background 	$tixOption(dark1_bg) $tixOption(prioLevel)
option add *TixScrolledHList*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledHList*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledHList*hlist.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledHList*hlist.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledTList*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledTList*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledTList*tlist.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledTList*tlist.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledListBox*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledListBox*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledListBox*listbox.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledListBox*listbox.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledText*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledText*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledWindow*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledWindow*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledWindow.frame.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixTree*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixTree*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixTree*hlist.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixTree*hlist.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixTree*hlist.borderWidth		1 $tixOption(prioLevel)
option add *TixComboBox*Entry.highlightBackground		$tixOption(bg) $tixOption(prioLevel)
option add *TixComboBox*Entry.background			$tixOption(input1_bg) $tixOption(prioLevel)
option add *TixComboBox*Entry.foreground			black $tixOption(prioLevel)
option add *TixComboBox*Entry.insertBackground		black $tixOption(prioLevel)
}
proc tixPref:SetScheme-Mono:SGIGray {} {


    global tixOption

    set tixOption(bg)           lightgray
    set tixOption(fg)           black

    set tixOption(dark1_bg)     gray70
    set tixOption(dark1_fg)     black
    set tixOption(dark2_bg)     gray60
    set tixOption(dark2_fg)     white
    set tixOption(inactive_bg)  lightgray
    set tixOption(inactive_fg)  black

    set tixOption(light1_bg)    gray90
    set tixOption(light1_fg)    white
    set tixOption(light2_bg)    gray95
    set tixOption(light2_fg)    white

    set tixOption(active_bg)    gray90
    set tixOption(active_fg)    $tixOption(fg)
    set tixOption(disabled_fg)  gray55

    set tixOption(input1_bg)    $tixOption(light1_bg)
    set tixOption(input2_bg)    $tixOption(light1_bg)
    set tixOption(output1_bg)   $tixOption(light1_bg)
    set tixOption(output2_bg)   $tixOption(light1_bg)

    set tixOption(select_fg)    white
    set tixOption(select_bg)    black

    set tixOption(selector)	black

option add *background 		$tixOption(bg) 10
option add *Background		$tixOption(bg) $tixOption(prioLevel)
option add *background		$tixOption(bg) $tixOption(prioLevel)
option add *Foreground		$tixOption(fg) $tixOption(prioLevel)
option add *foreground		$tixOption(fg) $tixOption(prioLevel)
option add *activeBackground	$tixOption(active_bg) $tixOption(prioLevel)
option add *activeForeground	$tixOption(active_fg) $tixOption(prioLevel)
option add *HighlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *selectBackground	$tixOption(select_bg) $tixOption(prioLevel)
option add *selectForeground	$tixOption(select_fg) $tixOption(prioLevel)
option add *selectBorderWidth	0 $tixOption(prioLevel)
option add *Menu.selectColor		$tixOption(selector) $tixOption(prioLevel)
option add *TixMenu.selectColor		$tixOption(selector) $tixOption(prioLevel)
option add *Menubutton.padY			5 $tixOption(prioLevel)
option add *Button.borderWidth		2 $tixOption(prioLevel)
option add *Button.anchor		c $tixOption(prioLevel)
option add *Checkbutton.selectColor		$tixOption(selector) $tixOption(prioLevel)
option add *Radiobutton.selectColor		$tixOption(selector) $tixOption(prioLevel)
option add *Entry.relief		sunken $tixOption(prioLevel)
option add *Entry.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *Entry.background		$tixOption(input1_bg) $tixOption(prioLevel)
option add *Entry.foreground		black $tixOption(prioLevel)
option add *Entry.insertBackground	black $tixOption(prioLevel)
option add *Label.anchor		w $tixOption(prioLevel)
option add *Label.borderWidth		0 $tixOption(prioLevel)
option add *Listbox.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *Listbox.relief		sunken $tixOption(prioLevel)
option add *Scale.foreground		$tixOption(fg) $tixOption(prioLevel)
option add *Scale.activeForeground	$tixOption(bg) $tixOption(prioLevel)
option add *Scale.background		$tixOption(bg) $tixOption(prioLevel)
option add *Scale.sliderForeground	$tixOption(bg) $tixOption(prioLevel)
option add *Scale.sliderBackground	$tixOption(light1_bg) $tixOption(prioLevel)
option add *Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *Scrollbar.relief		sunken $tixOption(prioLevel)
option add *Scrollbar.borderWidth		1 $tixOption(prioLevel)
option add *Scrollbar.width			15 $tixOption(prioLevel)
option add *Text.background		$tixOption(input1_bg) $tixOption(prioLevel)
option add *Text.relief		sunken $tixOption(prioLevel)
option add *TixBalloon*background 			#ffff60 $tixOption(prioLevel)
option add *TixBalloon*foreground 			black $tixOption(prioLevel)
option add *TixBalloon.background 			black $tixOption(prioLevel)
option add *TixBalloon*Label.anchor 			w $tixOption(prioLevel)
option add *TixControl*entry.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixControl*entry.background		$tixOption(input1_bg) $tixOption(prioLevel)
option add *TixControl*entry.foreground		black $tixOption(prioLevel)
option add *TixControl*entry.insertBackground	black $tixOption(prioLevel)
option add *TixDirTree*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixDirTree*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixDirTree*hlist.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixDirTree*hlist.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixDirTree*hlist.activeBackground	$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixDirTree*hlist.disabledBackground	$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixDirTree*f1.borderWidth		1 $tixOption(prioLevel)
option add *TixDirTree*f1.relief			sunken $tixOption(prioLevel)
option add *TixDirList*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixDirList*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixDirList*hlist.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixDirList*hlist.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixDirList*hlist.activeBackground	$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixDirList*hlist.disabledBackground	$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixDirList*f1.borderWidth		1 $tixOption(prioLevel)
option add *TixDirList*f1.relief			sunken $tixOption(prioLevel)
option add *TixScrolledHList*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledHList*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledHList*hlist.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledHList*hlist.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledHList*hlist.activeBackground	$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledHList*hlist.disabledBackground	$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledHList*f1.borderWidth		1 $tixOption(prioLevel)
option add *TixScrolledHList*f1.relief			sunken $tixOption(prioLevel)
option add *TixTree*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixTree*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixTree*hlist.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixTree*hlist.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixTree*hlist.activeBackground	$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixTree*hlist.disabledBackground	$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixTree*f1.borderWidth		1 $tixOption(prioLevel)
option add *TixTree*f1.relief			sunken $tixOption(prioLevel)
option add *TixFileEntry*Entry.background 		$tixOption(input1_bg) $tixOption(prioLevel)
option add *TixHList.background			$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixHList.activeBackground		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixHList.disabledBackground		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixLabelEntry*entry.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixLabelEntry*entry.background		$tixOption(input1_bg) $tixOption(prioLevel)
option add *TixLabelEntry*entry.foreground		black $tixOption(prioLevel)
option add *TixLabelEntry*entry.insertBackground	black $tixOption(prioLevel)
option add *TixMultiList*Listbox.borderWidth		0 $tixOption(prioLevel)
option add *TixMultiList*Listbox.highlightThickness	0 $tixOption(prioLevel)
option add *TixMultiList*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixMultiList*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixMultiList*Scrollbar.relief		sunken $tixOption(prioLevel)
option add *TixMultiList*Scrollbar.width		15 $tixOption(prioLevel)
option add *TixMultiList*f1.borderWidth		2 $tixOption(prioLevel)
option add *TixMultiList*f1.relief			sunken $tixOption(prioLevel)
option add *TixMultiList*f1.highlightThickness		2 $tixOption(prioLevel)
option add *TixMDIMenuBar*menubar.relief		raised $tixOption(prioLevel)
option add *TixMDIMenuBar*menubar.borderWidth		2 $tixOption(prioLevel)
option add *TixMDIMenuBar*Menubutton.padY 		2 $tixOption(prioLevel)
option add *TixNoteBook.Background			$tixOption(bg) $tixOption(prioLevel)
option add *TixNoteBook.nbframe.Background		$tixOption(bg) $tixOption(prioLevel)
option add *TixNoteBook.nbframe.backPageColor		$tixOption(bg) $tixOption(prioLevel)
option add *TixNoteBook.nbframe.inactiveBackground	$tixOption(inactive_bg) $tixOption(prioLevel)
option add *TixPanedWindow.handleActiveBg 		$tixOption(active_bg) $tixOption(prioLevel)
option add *TixPanedWindow.seperatorBg    		$tixOption(bg) $tixOption(prioLevel)
option add *TixPanedWindow.handleBg       		$tixOption(dark1_bg) $tixOption(prioLevel)
option add *TixPopupMenu*menubutton.background 	$tixOption(dark1_bg) $tixOption(prioLevel)
option add *TixScrolledHList*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledHList*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledHList*hlist.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledHList*hlist.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledTList*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledTList*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledTList*tlist.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledTList*tlist.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledListBox*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledListBox*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledListBox*listbox.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledListBox*listbox.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledText*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledText*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledWindow*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledWindow*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledWindow.frame.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixTree*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixTree*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixTree*hlist.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixTree*hlist.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixTree*hlist.borderWidth		1 $tixOption(prioLevel)
option add *TixComboBox*Entry.highlightBackground		$tixOption(bg) $tixOption(prioLevel)
option add *TixComboBox*Entry.background			$tixOption(input1_bg) $tixOption(prioLevel)
option add *TixComboBox*Entry.foreground			black $tixOption(prioLevel)
option add *TixComboBox*Entry.insertBackground		black $tixOption(prioLevel)
}
PKqm�[rR�XXTix8.4.3/pref/Bisque.cscnu�[���#
# $Id: Bisque.csc,v 1.2 2000/10/12 01:59:13 idiscovery Exp $
#
proc tixPref:SetScheme-Color:Bisque {} {

    global tixOption

    set tixOption(bg)           bisque1
    set tixOption(fg)           black

    set tixOption(dark1_bg)     bisque2
    set tixOption(dark1_fg)     black
    set tixOption(dark2_bg)     bisque3
    set tixOption(dark2_fg)     black
    set tixOption(inactive_bg)  bisque3
    set tixOption(inactive_fg)  black

    set tixOption(light1_bg)    bisque1
    set tixOption(light1_fg)    white
    set tixOption(light2_bg)    bisque1
    set tixOption(light2_fg)    white

    set tixOption(active_bg)    $tixOption(dark1_bg)
    set tixOption(active_fg)    $tixOption(fg)
    set tixOption(disabled_fg)  gray55

    set tixOption(input1_bg)    bisque2
    set tixOption(input2_bg)    bisque2
    set tixOption(output1_bg)   $tixOption(dark1_bg)
    set tixOption(output2_bg)   $tixOption(bg)

    set tixOption(select_fg)    black
    set tixOption(select_bg)    bisque2

    set tixOption(selector)	#b03060

option add *background 		$tixOption(bg) 10
option add *Background		$tixOption(bg) $tixOption(prioLevel)
option add *background		$tixOption(bg) $tixOption(prioLevel)
option add *Foreground		$tixOption(fg) $tixOption(prioLevel)
option add *foreground		$tixOption(fg) $tixOption(prioLevel)
option add *activeBackground	$tixOption(active_bg) $tixOption(prioLevel)
option add *activeForeground	$tixOption(active_fg) $tixOption(prioLevel)
option add *HighlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *selectBackground	$tixOption(select_bg) $tixOption(prioLevel)
option add *selectForeground	$tixOption(select_fg) $tixOption(prioLevel)
option add *selectBorderWidth	0 $tixOption(prioLevel)
option add *Menu.selectColor		$tixOption(selector) $tixOption(prioLevel)
option add *TixMenu.selectColor		$tixOption(selector) $tixOption(prioLevel)
option add *Menubutton.padY			5 $tixOption(prioLevel)
option add *Button.borderWidth		2 $tixOption(prioLevel)
option add *Button.anchor		c $tixOption(prioLevel)
option add *Checkbutton.selectColor		$tixOption(selector) $tixOption(prioLevel)
option add *Radiobutton.selectColor		$tixOption(selector) $tixOption(prioLevel)
option add *Entry.relief		sunken $tixOption(prioLevel)
option add *Entry.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *Entry.background		$tixOption(input1_bg) $tixOption(prioLevel)
option add *Entry.foreground		black $tixOption(prioLevel)
option add *Entry.insertBackground	black $tixOption(prioLevel)
option add *Label.anchor		w $tixOption(prioLevel)
option add *Label.borderWidth		0 $tixOption(prioLevel)
option add *Listbox.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *Listbox.relief		sunken $tixOption(prioLevel)
option add *Scale.foreground		$tixOption(fg) $tixOption(prioLevel)
option add *Scale.activeForeground	$tixOption(bg) $tixOption(prioLevel)
option add *Scale.background		$tixOption(bg) $tixOption(prioLevel)
option add *Scale.sliderForeground	$tixOption(bg) $tixOption(prioLevel)
option add *Scale.sliderBackground	$tixOption(light1_bg) $tixOption(prioLevel)
option add *Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *Scrollbar.relief		sunken $tixOption(prioLevel)
option add *Scrollbar.borderWidth		1 $tixOption(prioLevel)
option add *Scrollbar.width			15 $tixOption(prioLevel)
option add *Text.background		$tixOption(input1_bg) $tixOption(prioLevel)
option add *Text.relief		sunken $tixOption(prioLevel)
option add *TixBalloon*background 			#ffff60 $tixOption(prioLevel)
option add *TixBalloon*foreground 			black $tixOption(prioLevel)
option add *TixBalloon.background 			black $tixOption(prioLevel)
option add *TixBalloon*Label.anchor 			w $tixOption(prioLevel)
option add *TixControl*entry.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixControl*entry.background		$tixOption(input1_bg) $tixOption(prioLevel)
option add *TixControl*entry.foreground		black $tixOption(prioLevel)
option add *TixControl*entry.insertBackground	black $tixOption(prioLevel)
option add *TixDirTree*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixDirTree*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixDirTree*hlist.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixDirTree*hlist.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixDirTree*hlist.activeBackground	$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixDirTree*hlist.disabledBackground	$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixDirTree*f1.borderWidth		1 $tixOption(prioLevel)
option add *TixDirTree*f1.relief			sunken $tixOption(prioLevel)
option add *TixDirList*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixDirList*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixDirList*hlist.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixDirList*hlist.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixDirList*hlist.activeBackground	$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixDirList*hlist.disabledBackground	$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixDirList*f1.borderWidth		1 $tixOption(prioLevel)
option add *TixDirList*f1.relief			sunken $tixOption(prioLevel)
option add *TixScrolledHList*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledHList*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledHList*hlist.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledHList*hlist.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledHList*hlist.activeBackground	$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledHList*hlist.disabledBackground	$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledHList*f1.borderWidth		1 $tixOption(prioLevel)
option add *TixScrolledHList*f1.relief			sunken $tixOption(prioLevel)
option add *TixTree*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixTree*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixTree*hlist.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixTree*hlist.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixTree*hlist.activeBackground	$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixTree*hlist.disabledBackground	$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixTree*f1.borderWidth		1 $tixOption(prioLevel)
option add *TixTree*f1.relief			sunken $tixOption(prioLevel)
option add *TixFileEntry*Entry.background 		$tixOption(input1_bg) $tixOption(prioLevel)
option add *TixHList.background			$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixHList.activeBackground		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixHList.disabledBackground		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixLabelEntry*entry.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixLabelEntry*entry.background		$tixOption(input1_bg) $tixOption(prioLevel)
option add *TixLabelEntry*entry.foreground		black $tixOption(prioLevel)
option add *TixLabelEntry*entry.insertBackground	black $tixOption(prioLevel)
option add *TixMultiList*Listbox.borderWidth		0 $tixOption(prioLevel)
option add *TixMultiList*Listbox.highlightThickness	0 $tixOption(prioLevel)
option add *TixMultiList*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixMultiList*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixMultiList*Scrollbar.relief		sunken $tixOption(prioLevel)
option add *TixMultiList*Scrollbar.width		15 $tixOption(prioLevel)
option add *TixMultiList*f1.borderWidth		2 $tixOption(prioLevel)
option add *TixMultiList*f1.relief			sunken $tixOption(prioLevel)
option add *TixMultiList*f1.highlightThickness		2 $tixOption(prioLevel)
option add *TixMDIMenuBar*menubar.relief		raised $tixOption(prioLevel)
option add *TixMDIMenuBar*menubar.borderWidth		2 $tixOption(prioLevel)
option add *TixMDIMenuBar*Menubutton.padY 		2 $tixOption(prioLevel)
option add *TixNoteBook.Background			$tixOption(bg) $tixOption(prioLevel)
option add *TixNoteBook.nbframe.Background		$tixOption(bg) $tixOption(prioLevel)
option add *TixNoteBook.nbframe.backPageColor		$tixOption(bg) $tixOption(prioLevel)
option add *TixNoteBook.nbframe.inactiveBackground	$tixOption(inactive_bg) $tixOption(prioLevel)
option add *TixPanedWindow.handleActiveBg 		$tixOption(active_bg) $tixOption(prioLevel)
option add *TixPanedWindow.seperatorBg    		$tixOption(bg) $tixOption(prioLevel)
option add *TixPanedWindow.handleBg       		$tixOption(dark1_bg) $tixOption(prioLevel)
option add *TixPopupMenu*menubutton.background 	$tixOption(dark1_bg) $tixOption(prioLevel)
option add *TixScrolledHList*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledHList*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledHList*hlist.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledHList*hlist.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledTList*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledTList*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledTList*tlist.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledTList*tlist.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledListBox*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledListBox*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledListBox*listbox.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledListBox*listbox.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledText*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledText*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledWindow*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledWindow*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledWindow.frame.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixTree*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixTree*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixTree*hlist.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixTree*hlist.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixTree*hlist.borderWidth		1 $tixOption(prioLevel)
option add *TixComboBox*Entry.highlightBackground		$tixOption(bg) $tixOption(prioLevel)
option add *TixComboBox*Entry.background			$tixOption(input1_bg) $tixOption(prioLevel)
option add *TixComboBox*Entry.foreground			black $tixOption(prioLevel)
option add *TixComboBox*Entry.insertBackground		black $tixOption(prioLevel)
}
proc tixPref:SetScheme-Mono:Bisque {} {


    global tixOption

    set tixOption(bg)           lightgray
    set tixOption(fg)           black

    set tixOption(dark1_bg)     gray70
    set tixOption(dark1_fg)     black
    set tixOption(dark2_bg)     gray60
    set tixOption(dark2_fg)     white
    set tixOption(inactive_bg)  lightgray
    set tixOption(inactive_fg)  black

    set tixOption(light1_bg)    gray90
    set tixOption(light1_fg)    white
    set tixOption(light2_bg)    gray95
    set tixOption(light2_fg)    white

    set tixOption(active_bg)    gray90
    set tixOption(active_fg)    $tixOption(fg)
    set tixOption(disabled_fg)  gray55

    set tixOption(input1_bg)    $tixOption(light1_bg)
    set tixOption(input2_bg)    $tixOption(light1_bg)
    set tixOption(output1_bg)   $tixOption(light1_bg)
    set tixOption(output2_bg)   $tixOption(light1_bg)

    set tixOption(select_fg)    white
    set tixOption(select_bg)    black

    set tixOption(selector)	black

option add *background 		$tixOption(bg) 10
option add *Background		$tixOption(bg) $tixOption(prioLevel)
option add *background		$tixOption(bg) $tixOption(prioLevel)
option add *Foreground		$tixOption(fg) $tixOption(prioLevel)
option add *foreground		$tixOption(fg) $tixOption(prioLevel)
option add *activeBackground	$tixOption(active_bg) $tixOption(prioLevel)
option add *activeForeground	$tixOption(active_fg) $tixOption(prioLevel)
option add *HighlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *selectBackground	$tixOption(select_bg) $tixOption(prioLevel)
option add *selectForeground	$tixOption(select_fg) $tixOption(prioLevel)
option add *selectBorderWidth	0 $tixOption(prioLevel)
option add *Menu.selectColor		$tixOption(selector) $tixOption(prioLevel)
option add *TixMenu.selectColor		$tixOption(selector) $tixOption(prioLevel)
option add *Menubutton.padY			5 $tixOption(prioLevel)
option add *Button.borderWidth		2 $tixOption(prioLevel)
option add *Button.anchor		c $tixOption(prioLevel)
option add *Checkbutton.selectColor		$tixOption(selector) $tixOption(prioLevel)
option add *Radiobutton.selectColor		$tixOption(selector) $tixOption(prioLevel)
option add *Entry.relief		sunken $tixOption(prioLevel)
option add *Entry.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *Entry.background		$tixOption(input1_bg) $tixOption(prioLevel)
option add *Entry.foreground		black $tixOption(prioLevel)
option add *Entry.insertBackground	black $tixOption(prioLevel)
option add *Label.anchor		w $tixOption(prioLevel)
option add *Label.borderWidth		0 $tixOption(prioLevel)
option add *Listbox.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *Listbox.relief		sunken $tixOption(prioLevel)
option add *Scale.foreground		$tixOption(fg) $tixOption(prioLevel)
option add *Scale.activeForeground	$tixOption(bg) $tixOption(prioLevel)
option add *Scale.background		$tixOption(bg) $tixOption(prioLevel)
option add *Scale.sliderForeground	$tixOption(bg) $tixOption(prioLevel)
option add *Scale.sliderBackground	$tixOption(light1_bg) $tixOption(prioLevel)
option add *Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *Scrollbar.relief		sunken $tixOption(prioLevel)
option add *Scrollbar.borderWidth		1 $tixOption(prioLevel)
option add *Scrollbar.width			15 $tixOption(prioLevel)
option add *Text.background		$tixOption(input1_bg) $tixOption(prioLevel)
option add *Text.relief		sunken $tixOption(prioLevel)
option add *TixBalloon*background 			#ffff60 $tixOption(prioLevel)
option add *TixBalloon*foreground 			black $tixOption(prioLevel)
option add *TixBalloon.background 			black $tixOption(prioLevel)
option add *TixBalloon*Label.anchor 			w $tixOption(prioLevel)
option add *TixControl*entry.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixControl*entry.background		$tixOption(input1_bg) $tixOption(prioLevel)
option add *TixControl*entry.foreground		black $tixOption(prioLevel)
option add *TixControl*entry.insertBackground	black $tixOption(prioLevel)
option add *TixDirTree*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixDirTree*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixDirTree*hlist.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixDirTree*hlist.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixDirTree*hlist.activeBackground	$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixDirTree*hlist.disabledBackground	$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixDirTree*f1.borderWidth		1 $tixOption(prioLevel)
option add *TixDirTree*f1.relief			sunken $tixOption(prioLevel)
option add *TixDirList*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixDirList*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixDirList*hlist.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixDirList*hlist.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixDirList*hlist.activeBackground	$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixDirList*hlist.disabledBackground	$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixDirList*f1.borderWidth		1 $tixOption(prioLevel)
option add *TixDirList*f1.relief			sunken $tixOption(prioLevel)
option add *TixScrolledHList*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledHList*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledHList*hlist.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledHList*hlist.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledHList*hlist.activeBackground	$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledHList*hlist.disabledBackground	$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledHList*f1.borderWidth		1 $tixOption(prioLevel)
option add *TixScrolledHList*f1.relief			sunken $tixOption(prioLevel)
option add *TixTree*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixTree*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixTree*hlist.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixTree*hlist.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixTree*hlist.activeBackground	$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixTree*hlist.disabledBackground	$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixTree*f1.borderWidth		1 $tixOption(prioLevel)
option add *TixTree*f1.relief			sunken $tixOption(prioLevel)
option add *TixFileEntry*Entry.background 		$tixOption(input1_bg) $tixOption(prioLevel)
option add *TixHList.background			$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixHList.activeBackground		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixHList.disabledBackground		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixLabelEntry*entry.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixLabelEntry*entry.background		$tixOption(input1_bg) $tixOption(prioLevel)
option add *TixLabelEntry*entry.foreground		black $tixOption(prioLevel)
option add *TixLabelEntry*entry.insertBackground	black $tixOption(prioLevel)
option add *TixMultiList*Listbox.borderWidth		0 $tixOption(prioLevel)
option add *TixMultiList*Listbox.highlightThickness	0 $tixOption(prioLevel)
option add *TixMultiList*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixMultiList*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixMultiList*Scrollbar.relief		sunken $tixOption(prioLevel)
option add *TixMultiList*Scrollbar.width		15 $tixOption(prioLevel)
option add *TixMultiList*f1.borderWidth		2 $tixOption(prioLevel)
option add *TixMultiList*f1.relief			sunken $tixOption(prioLevel)
option add *TixMultiList*f1.highlightThickness		2 $tixOption(prioLevel)
option add *TixMDIMenuBar*menubar.relief		raised $tixOption(prioLevel)
option add *TixMDIMenuBar*menubar.borderWidth		2 $tixOption(prioLevel)
option add *TixMDIMenuBar*Menubutton.padY 		2 $tixOption(prioLevel)
option add *TixNoteBook.Background			$tixOption(bg) $tixOption(prioLevel)
option add *TixNoteBook.nbframe.Background		$tixOption(bg) $tixOption(prioLevel)
option add *TixNoteBook.nbframe.backPageColor		$tixOption(bg) $tixOption(prioLevel)
option add *TixNoteBook.nbframe.inactiveBackground	$tixOption(inactive_bg) $tixOption(prioLevel)
option add *TixPanedWindow.handleActiveBg 		$tixOption(active_bg) $tixOption(prioLevel)
option add *TixPanedWindow.seperatorBg    		$tixOption(bg) $tixOption(prioLevel)
option add *TixPanedWindow.handleBg       		$tixOption(dark1_bg) $tixOption(prioLevel)
option add *TixPopupMenu*menubutton.background 	$tixOption(dark1_bg) $tixOption(prioLevel)
option add *TixScrolledHList*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledHList*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledHList*hlist.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledHList*hlist.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledTList*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledTList*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledTList*tlist.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledTList*tlist.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledListBox*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledListBox*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledListBox*listbox.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledListBox*listbox.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledText*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledText*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledWindow*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledWindow*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledWindow.frame.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixTree*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixTree*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixTree*hlist.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixTree*hlist.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixTree*hlist.borderWidth		1 $tixOption(prioLevel)
option add *TixComboBox*Entry.highlightBackground		$tixOption(bg) $tixOption(prioLevel)
option add *TixComboBox*Entry.background			$tixOption(input1_bg) $tixOption(prioLevel)
option add *TixComboBox*Entry.foreground			black $tixOption(prioLevel)
option add *TixComboBox*Entry.insertBackground		black $tixOption(prioLevel)
}
PKqm�[`@sXXTix8.4.3/pref/Gray.cscnu�[���#
# $Id: Gray.csc,v 1.2 2000/10/12 01:59:44 idiscovery Exp $
#
proc tixPref:SetScheme-Color:Gray {} {


    global tixOption

    set tixOption(bg)           lightgray
    set tixOption(fg)           black

    set tixOption(dark1_bg)     gray
    set tixOption(dark1_fg)     black
    set tixOption(dark2_bg)     gray50
    set tixOption(dark2_fg)     black
    set tixOption(inactive_bg)  gray50
    set tixOption(inactive_fg)  black

    set tixOption(light1_bg)    gray90
    set tixOption(light1_fg)    white
    set tixOption(light2_bg)    gray95
    set tixOption(light2_fg)    white

    set tixOption(active_bg)    $tixOption(dark1_bg)
    set tixOption(active_fg)    $tixOption(fg)
    set tixOption(disabled_fg)  gray55

    set tixOption(input1_bg)    $tixOption(dark1_bg)
    set tixOption(input2_bg)    $tixOption(bg)
    set tixOption(output1_bg)   $tixOption(dark1_bg)
    set tixOption(output2_bg)   $tixOption(bg)
	
    set tixOption(select_fg)    black
    set tixOption(select_bg)    lightblue
	
    set tixOption(selector)	yellow

option add *background 		$tixOption(bg) 10
option add *Background		$tixOption(bg) $tixOption(prioLevel)
option add *background		$tixOption(bg) $tixOption(prioLevel)
option add *Foreground		$tixOption(fg) $tixOption(prioLevel)
option add *foreground		$tixOption(fg) $tixOption(prioLevel)
option add *activeBackground	$tixOption(active_bg) $tixOption(prioLevel)
option add *activeForeground	$tixOption(active_fg) $tixOption(prioLevel)
option add *HighlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *selectBackground	$tixOption(select_bg) $tixOption(prioLevel)
option add *selectForeground	$tixOption(select_fg) $tixOption(prioLevel)
option add *selectBorderWidth	0 $tixOption(prioLevel)
option add *Menu.selectColor		$tixOption(selector) $tixOption(prioLevel)
option add *TixMenu.selectColor		$tixOption(selector) $tixOption(prioLevel)
option add *Menubutton.padY			5 $tixOption(prioLevel)
option add *Button.borderWidth		2 $tixOption(prioLevel)
option add *Button.anchor		c $tixOption(prioLevel)
option add *Checkbutton.selectColor		$tixOption(selector) $tixOption(prioLevel)
option add *Radiobutton.selectColor		$tixOption(selector) $tixOption(prioLevel)
option add *Entry.relief		sunken $tixOption(prioLevel)
option add *Entry.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *Entry.background		$tixOption(input1_bg) $tixOption(prioLevel)
option add *Entry.foreground		black $tixOption(prioLevel)
option add *Entry.insertBackground	black $tixOption(prioLevel)
option add *Label.anchor		w $tixOption(prioLevel)
option add *Label.borderWidth		0 $tixOption(prioLevel)
option add *Listbox.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *Listbox.relief		sunken $tixOption(prioLevel)
option add *Scale.foreground		$tixOption(fg) $tixOption(prioLevel)
option add *Scale.activeForeground	$tixOption(bg) $tixOption(prioLevel)
option add *Scale.background		$tixOption(bg) $tixOption(prioLevel)
option add *Scale.sliderForeground	$tixOption(bg) $tixOption(prioLevel)
option add *Scale.sliderBackground	$tixOption(light1_bg) $tixOption(prioLevel)
option add *Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *Scrollbar.relief		sunken $tixOption(prioLevel)
option add *Scrollbar.borderWidth		1 $tixOption(prioLevel)
option add *Scrollbar.width			15 $tixOption(prioLevel)
option add *Text.background		$tixOption(input1_bg) $tixOption(prioLevel)
option add *Text.relief		sunken $tixOption(prioLevel)
option add *TixBalloon*background 			#ffff60 $tixOption(prioLevel)
option add *TixBalloon*foreground 			black $tixOption(prioLevel)
option add *TixBalloon.background 			black $tixOption(prioLevel)
option add *TixBalloon*Label.anchor 			w $tixOption(prioLevel)
option add *TixControl*entry.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixControl*entry.background		$tixOption(input1_bg) $tixOption(prioLevel)
option add *TixControl*entry.foreground		black $tixOption(prioLevel)
option add *TixControl*entry.insertBackground	black $tixOption(prioLevel)
option add *TixDirTree*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixDirTree*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixDirTree*hlist.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixDirTree*hlist.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixDirTree*hlist.activeBackground	$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixDirTree*hlist.disabledBackground	$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixDirTree*f1.borderWidth		1 $tixOption(prioLevel)
option add *TixDirTree*f1.relief			sunken $tixOption(prioLevel)
option add *TixDirList*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixDirList*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixDirList*hlist.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixDirList*hlist.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixDirList*hlist.activeBackground	$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixDirList*hlist.disabledBackground	$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixDirList*f1.borderWidth		1 $tixOption(prioLevel)
option add *TixDirList*f1.relief			sunken $tixOption(prioLevel)
option add *TixScrolledHList*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledHList*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledHList*hlist.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledHList*hlist.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledHList*hlist.activeBackground	$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledHList*hlist.disabledBackground	$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledHList*f1.borderWidth		1 $tixOption(prioLevel)
option add *TixScrolledHList*f1.relief			sunken $tixOption(prioLevel)
option add *TixTree*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixTree*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixTree*hlist.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixTree*hlist.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixTree*hlist.activeBackground	$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixTree*hlist.disabledBackground	$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixTree*f1.borderWidth		1 $tixOption(prioLevel)
option add *TixTree*f1.relief			sunken $tixOption(prioLevel)
option add *TixFileEntry*Entry.background 		$tixOption(input1_bg) $tixOption(prioLevel)
option add *TixHList.background			$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixHList.activeBackground		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixHList.disabledBackground		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixLabelEntry*entry.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixLabelEntry*entry.background		$tixOption(input1_bg) $tixOption(prioLevel)
option add *TixLabelEntry*entry.foreground		black $tixOption(prioLevel)
option add *TixLabelEntry*entry.insertBackground	black $tixOption(prioLevel)
option add *TixMultiList*Listbox.borderWidth		0 $tixOption(prioLevel)
option add *TixMultiList*Listbox.highlightThickness	0 $tixOption(prioLevel)
option add *TixMultiList*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixMultiList*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixMultiList*Scrollbar.relief		sunken $tixOption(prioLevel)
option add *TixMultiList*Scrollbar.width		15 $tixOption(prioLevel)
option add *TixMultiList*f1.borderWidth		2 $tixOption(prioLevel)
option add *TixMultiList*f1.relief			sunken $tixOption(prioLevel)
option add *TixMultiList*f1.highlightThickness		2 $tixOption(prioLevel)
option add *TixMDIMenuBar*menubar.relief		raised $tixOption(prioLevel)
option add *TixMDIMenuBar*menubar.borderWidth		2 $tixOption(prioLevel)
option add *TixMDIMenuBar*Menubutton.padY 		2 $tixOption(prioLevel)
option add *TixNoteBook.Background			$tixOption(bg) $tixOption(prioLevel)
option add *TixNoteBook.nbframe.Background		$tixOption(bg) $tixOption(prioLevel)
option add *TixNoteBook.nbframe.backPageColor		$tixOption(bg) $tixOption(prioLevel)
option add *TixNoteBook.nbframe.inactiveBackground	$tixOption(inactive_bg) $tixOption(prioLevel)
option add *TixPanedWindow.handleActiveBg 		$tixOption(active_bg) $tixOption(prioLevel)
option add *TixPanedWindow.seperatorBg    		$tixOption(bg) $tixOption(prioLevel)
option add *TixPanedWindow.handleBg       		$tixOption(dark1_bg) $tixOption(prioLevel)
option add *TixPopupMenu*menubutton.background 	$tixOption(dark1_bg) $tixOption(prioLevel)
option add *TixScrolledHList*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledHList*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledHList*hlist.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledHList*hlist.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledTList*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledTList*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledTList*tlist.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledTList*tlist.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledListBox*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledListBox*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledListBox*listbox.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledListBox*listbox.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledText*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledText*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledWindow*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledWindow*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledWindow.frame.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixTree*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixTree*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixTree*hlist.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixTree*hlist.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixTree*hlist.borderWidth		1 $tixOption(prioLevel)
option add *TixComboBox*Entry.highlightBackground		$tixOption(bg) $tixOption(prioLevel)
option add *TixComboBox*Entry.background			$tixOption(input1_bg) $tixOption(prioLevel)
option add *TixComboBox*Entry.foreground			black $tixOption(prioLevel)
option add *TixComboBox*Entry.insertBackground		black $tixOption(prioLevel)
}
proc tixPref:SetScheme-Mono:Gray {} {


    global tixOption

    set tixOption(bg)           lightgray
    set tixOption(fg)           black

    set tixOption(dark1_bg)     gray70
    set tixOption(dark1_fg)     black
    set tixOption(dark2_bg)     gray60
    set tixOption(dark2_fg)     white
    set tixOption(inactive_bg)  lightgray
    set tixOption(inactive_fg)  black

    set tixOption(light1_bg)    gray90
    set tixOption(light1_fg)    white
    set tixOption(light2_bg)    gray95
    set tixOption(light2_fg)    white

    set tixOption(active_bg)    gray90
    set tixOption(active_fg)    $tixOption(fg)
    set tixOption(disabled_fg)  gray55

    set tixOption(input1_bg)    $tixOption(light1_bg)
    set tixOption(input2_bg)    $tixOption(light1_bg)
    set tixOption(output1_bg)   $tixOption(light1_bg)
    set tixOption(output2_bg)   $tixOption(light1_bg)

    set tixOption(select_fg)    white
    set tixOption(select_bg)    black

    set tixOption(selector)	black

option add *background 		$tixOption(bg) 10
option add *Background		$tixOption(bg) $tixOption(prioLevel)
option add *background		$tixOption(bg) $tixOption(prioLevel)
option add *Foreground		$tixOption(fg) $tixOption(prioLevel)
option add *foreground		$tixOption(fg) $tixOption(prioLevel)
option add *activeBackground	$tixOption(active_bg) $tixOption(prioLevel)
option add *activeForeground	$tixOption(active_fg) $tixOption(prioLevel)
option add *HighlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *selectBackground	$tixOption(select_bg) $tixOption(prioLevel)
option add *selectForeground	$tixOption(select_fg) $tixOption(prioLevel)
option add *selectBorderWidth	0 $tixOption(prioLevel)
option add *Menu.selectColor		$tixOption(selector) $tixOption(prioLevel)
option add *TixMenu.selectColor		$tixOption(selector) $tixOption(prioLevel)
option add *Menubutton.padY			5 $tixOption(prioLevel)
option add *Button.borderWidth		2 $tixOption(prioLevel)
option add *Button.anchor		c $tixOption(prioLevel)
option add *Checkbutton.selectColor		$tixOption(selector) $tixOption(prioLevel)
option add *Radiobutton.selectColor		$tixOption(selector) $tixOption(prioLevel)
option add *Entry.relief		sunken $tixOption(prioLevel)
option add *Entry.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *Entry.background		$tixOption(input1_bg) $tixOption(prioLevel)
option add *Entry.foreground		black $tixOption(prioLevel)
option add *Entry.insertBackground	black $tixOption(prioLevel)
option add *Label.anchor		w $tixOption(prioLevel)
option add *Label.borderWidth		0 $tixOption(prioLevel)
option add *Listbox.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *Listbox.relief		sunken $tixOption(prioLevel)
option add *Scale.foreground		$tixOption(fg) $tixOption(prioLevel)
option add *Scale.activeForeground	$tixOption(bg) $tixOption(prioLevel)
option add *Scale.background		$tixOption(bg) $tixOption(prioLevel)
option add *Scale.sliderForeground	$tixOption(bg) $tixOption(prioLevel)
option add *Scale.sliderBackground	$tixOption(light1_bg) $tixOption(prioLevel)
option add *Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *Scrollbar.relief		sunken $tixOption(prioLevel)
option add *Scrollbar.borderWidth		1 $tixOption(prioLevel)
option add *Scrollbar.width			15 $tixOption(prioLevel)
option add *Text.background		$tixOption(input1_bg) $tixOption(prioLevel)
option add *Text.relief		sunken $tixOption(prioLevel)
option add *TixBalloon*background 			#ffff60 $tixOption(prioLevel)
option add *TixBalloon*foreground 			black $tixOption(prioLevel)
option add *TixBalloon.background 			black $tixOption(prioLevel)
option add *TixBalloon*Label.anchor 			w $tixOption(prioLevel)
option add *TixControl*entry.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixControl*entry.background		$tixOption(input1_bg) $tixOption(prioLevel)
option add *TixControl*entry.foreground		black $tixOption(prioLevel)
option add *TixControl*entry.insertBackground	black $tixOption(prioLevel)
option add *TixDirTree*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixDirTree*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixDirTree*hlist.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixDirTree*hlist.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixDirTree*hlist.activeBackground	$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixDirTree*hlist.disabledBackground	$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixDirTree*f1.borderWidth		1 $tixOption(prioLevel)
option add *TixDirTree*f1.relief			sunken $tixOption(prioLevel)
option add *TixDirList*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixDirList*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixDirList*hlist.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixDirList*hlist.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixDirList*hlist.activeBackground	$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixDirList*hlist.disabledBackground	$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixDirList*f1.borderWidth		1 $tixOption(prioLevel)
option add *TixDirList*f1.relief			sunken $tixOption(prioLevel)
option add *TixScrolledHList*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledHList*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledHList*hlist.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledHList*hlist.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledHList*hlist.activeBackground	$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledHList*hlist.disabledBackground	$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledHList*f1.borderWidth		1 $tixOption(prioLevel)
option add *TixScrolledHList*f1.relief			sunken $tixOption(prioLevel)
option add *TixTree*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixTree*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixTree*hlist.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixTree*hlist.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixTree*hlist.activeBackground	$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixTree*hlist.disabledBackground	$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixTree*f1.borderWidth		1 $tixOption(prioLevel)
option add *TixTree*f1.relief			sunken $tixOption(prioLevel)
option add *TixFileEntry*Entry.background 		$tixOption(input1_bg) $tixOption(prioLevel)
option add *TixHList.background			$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixHList.activeBackground		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixHList.disabledBackground		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixLabelEntry*entry.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixLabelEntry*entry.background		$tixOption(input1_bg) $tixOption(prioLevel)
option add *TixLabelEntry*entry.foreground		black $tixOption(prioLevel)
option add *TixLabelEntry*entry.insertBackground	black $tixOption(prioLevel)
option add *TixMultiList*Listbox.borderWidth		0 $tixOption(prioLevel)
option add *TixMultiList*Listbox.highlightThickness	0 $tixOption(prioLevel)
option add *TixMultiList*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixMultiList*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixMultiList*Scrollbar.relief		sunken $tixOption(prioLevel)
option add *TixMultiList*Scrollbar.width		15 $tixOption(prioLevel)
option add *TixMultiList*f1.borderWidth		2 $tixOption(prioLevel)
option add *TixMultiList*f1.relief			sunken $tixOption(prioLevel)
option add *TixMultiList*f1.highlightThickness		2 $tixOption(prioLevel)
option add *TixMDIMenuBar*menubar.relief		raised $tixOption(prioLevel)
option add *TixMDIMenuBar*menubar.borderWidth		2 $tixOption(prioLevel)
option add *TixMDIMenuBar*Menubutton.padY 		2 $tixOption(prioLevel)
option add *TixNoteBook.Background			$tixOption(bg) $tixOption(prioLevel)
option add *TixNoteBook.nbframe.Background		$tixOption(bg) $tixOption(prioLevel)
option add *TixNoteBook.nbframe.backPageColor		$tixOption(bg) $tixOption(prioLevel)
option add *TixNoteBook.nbframe.inactiveBackground	$tixOption(inactive_bg) $tixOption(prioLevel)
option add *TixPanedWindow.handleActiveBg 		$tixOption(active_bg) $tixOption(prioLevel)
option add *TixPanedWindow.seperatorBg    		$tixOption(bg) $tixOption(prioLevel)
option add *TixPanedWindow.handleBg       		$tixOption(dark1_bg) $tixOption(prioLevel)
option add *TixPopupMenu*menubutton.background 	$tixOption(dark1_bg) $tixOption(prioLevel)
option add *TixScrolledHList*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledHList*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledHList*hlist.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledHList*hlist.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledTList*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledTList*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledTList*tlist.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledTList*tlist.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledListBox*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledListBox*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledListBox*listbox.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledListBox*listbox.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledText*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledText*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledWindow*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledWindow*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledWindow.frame.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixTree*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixTree*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixTree*hlist.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixTree*hlist.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixTree*hlist.borderWidth		1 $tixOption(prioLevel)
option add *TixComboBox*Entry.highlightBackground		$tixOption(bg) $tixOption(prioLevel)
option add *TixComboBox*Entry.background			$tixOption(input1_bg) $tixOption(prioLevel)
option add *TixComboBox*Entry.foreground			black $tixOption(prioLevel)
option add *TixComboBox*Entry.insertBackground		black $tixOption(prioLevel)
}
PKqm�[FL	8��Tix8.4.3/pref/WmDefault.fsnu�[���# -*-mode: tcl; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*-
#
#	$Id: WmDefault.fs,v 1.2 2001/12/09 05:03:09 idiscovery Exp $
#

proc tixSetFontset {} {
    global tixOption

    package require wm_default
    if {![info exists ::wm_default::wm]} {
	wm_default::setup
	wm_default::addoptions
    }

    set tixOption(font) 	$::wm_default::system_font
    set tixOption(bold_font)    [concat $::wm_default::system_font bold]
    set tixOption(menu_font)    $::wm_default::menu_font        
    set tixOption(italic_font)  [concat $::wm_default::system_font italic]
    set tixOption(fixed_font)   $::wm_default::fixed_font
    set tixOption(text_font)   $::wm_default::text_font
    set tixOption(border1)      $::wm_default::borderwidth

}
PKqm�[`)j���Tix8.4.3/pref/Old14Pt.fsnu�[���#
# $Id: Old14Pt.fs,v 1.2 2001/12/09 05:03:09 idiscovery Exp $
#
proc tixSetFontset {} {

    global tixOption

    set tixOption(font)         -*-helvetica-medium-r-normal-*-14-*-*-*-*-*-*-*
    set tixOption(bold_font)    -*-helvetica-bold-r-normal-*-14-*-*-*-*-*-*-*
    set tixOption(menu_font)    -*-helvetica-bold-o-normal-*-14-*-*-*-*-*-*-*
    set tixOption(italic_font)  -*-helvetica-bold-o-normal-*-14-*-*-*-*-*-*-*
    set tixOption(fixed_font) -*-courier-medium-r-*-*-14-*-*-*-*-*-*-*
}
PKqm�["5�5�Tix8.4.3/pref/WmDefault.tclnu�[���# -*-mode: tcl; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*-
#
#
#	$Id: WmDefault.tcl,v 1.7 2008/03/17 22:47:00 hobbs Exp $
#
#	Description: Package for making Tk apps use the CDE/KDE/Gnome/Windows scheme
#	Prefix: wm_default::
#	Url: http://tix.sourceforge.net/Tixapps/
#
# Usage:
#	It should be sufficient at the beginning of a wish app to simply:
#
#	    package require wm_default
#	    wm_default::setup
#	    wm_default::addoptions
#
# 	wm_default::setup takes an optional argument - the scheme if already
#	known, one of: windows gnome kde1 kde2 cde kde
# 	wm_default::addoptions takes optional arguments - pairs of variables
#	and values to override the kde settings. e.g. 
#		wm_default::addoptions -background blue
#
# Description:
#       package for making Tk apps look nice under CDE or KDE or Windows
#
#	The stuff below attempts to use the options database and the
#	various files under ~/.dt, $DTHOME, and /usr/dt to figure out
#	the user's current font and color set.  It then uses tk's
#	palette routines to set sensible defaults, and then override
#	some of the options to try to make them look like CDE.
#
#	There really *must* be an easier way to get text background
#	colors and the radiobutton highlight colors out of the
#	options database or winfo atom...  Unfortunately, I can't
#	figure out how...

# This package is based on the cde package by D. J. Hagberg, Jr.:
# dhagberg@glatmos.com

########################################################################
#
#
 # Copyright 1998 D. J. Hagberg, Jr. and Global Atmospherics, Inc.
 #
 # Permission to use, copy, modify, and distribute this software and its
 # documentation for any purpose and without fee is hereby granted, provided
 # that the above copyright notice appear in all copies.
 # D. J. Hagberg, Jr. and Global Atmospherics, Inc. make no representations
 # about the suitability of this software for any It is provided "as is"
 # without express or implied warranty.  By use of this software the user
 # agrees to  indemnify and hold harmless D. J. Hagberg, Jr. and Global
 # Atmospherics, Inc. from any claims or liability for loss arising out
 # of such use.
########################################################################

package require Tk

proc tixDetermineWM {} {
    # Returns one of cde kde1 kde2 gnome windows or ""
    global tcl_platform env

    set type ""
    if {$tcl_platform(platform) eq "windows"} {
	set type windows
    } else {
	# The most definitive way is to check the X atoms
	# I'm not sure if we can determine this using regular Tk wm calls
	# I don't want to intern these symbols if they're not there.
	if {![catch {exec xlsatoms} xatoms]} {
	    if {[string match *GNOME_SESSION_CORBA_COOKIE* $xatoms]} {
		set type gnome
	    } elseif {[string match *KDEChangeStyle* $xatoms]} {
		set type kde1
	    } elseif {[string match *KDE_DESKTOP_WINDOW* $xatoms]} {
		set type kde2
	    }
	}
	if {$type != ""} {
	    # drop through
	} elseif {[info exists env(KDEDIR)] && [file isdir $env(KDEDIR)]} {
	    # one or two?
	    set type kde2
	} elseif {[info exists env(DTHOME)] && [file isdir $env(DTHOME)]} {
	    set type cde
	} else {
	    # Maybe look for other Unix window managers?
	    # if {[file isfile $env(HOME)/.fwm2rc]} {}
	    # if {[file isfile $env(HOME)/.fwmrc]} {}
	    # if {[file isfile $env(HOME)/.twmrc]} {}
	    # But twm and fwm don't color applications; mwm maybe?
	    # Hope someone comes up with the code for openlook :-)
	    return ""
	}
    }
    return $type
}

namespace eval ::wm_default {
    global tcl_platform env

    set _usetix [llength [info commands "tix"]]

    variable wm ""

    variable _frame_widgets {*Frame *Toplevel}
    #what about tixGrid?
    if {$_usetix} {
	lappend _frame_widgets *TixLabelFrame *TixButtonBox *TixCObjView \
		*TixListNoteBook *TixPanedWindow *TixStdButtonBox \
		*TixExFileSelectBox
    }
    variable _menu_font_widgets {*Menu *Menubutton}
    if {$_usetix} {lappend _menu_font_widgets *TixMenu}
    variable _button_font_widgets {*Button}

    variable _system_font_widgets {*Label \
		*Message \
                *Scale *Radiobutton *Checkbutton
    }
    if {$_usetix} {
	lappend _system_font_widgets \
	    *TixBalloon*message *TixLabelFrame*Label \
	    *TixControl*label *TixControl*Label \
	    *TixLabelEntry*label *TixNoteBook.nbframe \
	    *TixFileEntry*label *TixComboBox*label  \
	    *TixOptionMenu*menubutton  *TixBitmapButton*label  \
	    *TixMwmClient*title *TixFileSelectBox*Label
    }
   variable _text_type_widgets {*Canvas *Entry *Listbox *Text}
   if {$_usetix} {
       lappend _text_type_widgets \
	   *TixComboBox*Entry *TixControl*entry *TixScrolledHList*hlist \
	   *TixDirTree*hlist *TixDirList*hlist *TixTree*hlist \
	   *TixMultiList*Listbox *TixScrolledListBox*listbox  \
	   *TixFileEntry*Entry *TixLabelEntry*Entry \
	   *TixFileEntry*entry *TixLabelEntry*entry \
	   *TixScrolledTList*tlist  *TixScrolledText*text \
	   *TixHList *TixCheckList*hlist
       # These arent working yet
       lappend _text_type_widgets \
	       *TixDirTree*f1 *TixDirList*f1 \
	       *TixFileSelectBox*file*listbox \
	       *TixFileSelectBox*directory*listbox \
	       *TixExFileSelectBox*filelist*listbox
   }

   variable _insert_type_widgets {*Entry *Text}
   if {$_usetix} {
       lappend _insert_type_widgets \
	   *TixControl*entry *TixComboBox*Entry
    }

   variable _select_type_widgets {*Checkbutton \
	   *Radiobutton \
	   *Menu}
   variable _active_borderwidth_widgets {*Button *Radiobutton *Checkbutton}

   # Other Widgets that are given a borderwidth of $wm_default::borderwidth
   variable _nonzero_borderwidth_widgets {}

   # Widgets that are given a borderwidth of 0
   # must not be  *Entry
   variable _null_borderwidth_widgets {*Menubutton *Label}

   variable _scrollbar_widgets {}
   variable _scrollbar_widgets {*Scrollbar}
   if {$_usetix} {
       lappend  _scrollbar_widgets \
	       *TixTree*Scrollbar *TixDirTree*Scrollbar *TixDirList*Scrollbar \
	       *TixScrolledTList*Scrollbar *TixScrolledListBox*Scrollbar \
	       *TixScrolledHList*Scrollbar *TixMultiView*Scrollbar \
	       *TixScrolledText*Scrollbar *TixScrolledWindow*Scrollbar  \
	       *TixCObjView*Scrollbar
   }

   proc debug {str} {
       if {[llength [info commands "tix"]] &&
	   [string is true -strict [tix cget -debug]]} {
	   puts $str
       }
   }

    # Return the array of what we have deduced
    proc getoptions {} {
	set retval {}
	set len [string length "::wm_default::"]
        foreach variable [lsort [info vars ::wm_default::*]] {
	    if {[string match ::wm_default::_* $variable]} {continue}
	    set key [string range $variable $len end]
	    lappend retval $key [set $variable]
	}
	return $retval
    }

    # Print out the array of what we have deduced
    proc parray {} {
	set retval ""
        foreach {key val} [::wm_default::getoptions] {
	    append retval [join [list $key $val]] "\n"
	}
	debug $retval
	return $retval
    }

    # Pick a default borderwidth in pixels
    set _bd 2
    # Pick a default font size in pixels
    set _screenheight [winfo screenheight .]
    if {$_screenheight < 500} {
	# for 800x600 or smaller
	set _pixel 10
	set _point 8
	# Pick a default borderwidth which smaller
	set _bd 1
    } elseif {$_screenheight < 800} {
	# for 1024x768
	set _pixel 12
	set _point 8
    } elseif {$_screenheight < 1100} {
	# for 1200x1000
	set _pixel 12
	set _point 8
    } else {
	set _pixel 12
	set _point 10
    }

    # setup defaults depending on the OS and Window Manager
    # Really should do another version for mono
    if {$tcl_platform(platform) eq "windows"} {

	if {$tcl_platform(osVersion) < 5} {
	    set _prop_default "MS Sans Serif"
	} else {
	    set _prop_default "Tahoma"
	}

	# make sure this font is installed 
	set _allowed [string tolow [font families]]
	foreach font [list $_prop_default "MS Sans Serif" Tahoma Arial System] {
	    if {[lsearch -exact $_allowed [string tolow $font]] > -1} {
		set _prop_default $font
		break
	    }
	}

	set _fixed_default {Courier New}
	# make sure this font is installed 
	foreach font [list $_fixed_default Courier System] {
	    if {[lsearch -exact $_allowed [string tolow $font]] > -1} {
		set _fixed_default $font
		break
	    }
	}

	# Windows colors:
	#    "3dDarkShadow",		COLOR_3DDKSHADOW,
	#    "3dLight",			COLOR_3DLIGHT,
	#    "ActiveBorder",		COLOR_ACTIVEBORDER,
	#    "ActiveCaption",		COLOR_ACTIVECAPTION,
	#    "AppWorkspace",		COLOR_APPWORKSPACE,
	#    "Background",		COLOR_BACKGROUND,
	#    "ButtonFace",		COLOR_BTNFACE,
	#    "ButtonHighlight",		COLOR_BTNHIGHLIGHT,
	#    "ButtonShadow",		COLOR_BTNSHADOW,
	#    "ButtonText",		COLOR_BTNTEXT,
	#    "CaptionText",		COLOR_CAPTIONTEXT,
	#    "DisabledText",		COLOR_GRAYTEXT,
	#    "GrayText",		COLOR_GRAYTEXT,
	#    "Highlight",		COLOR_HIGHLIGHT,
	#    "HighlightText",		COLOR_HIGHLIGHTTEXT,
	#    "InactiveBorder",		COLOR_INACTIVEBORDER,
	#    "InactiveCaption",		COLOR_INACTIVECAPTION,
	#    "InactiveCaptionText",	COLOR_INACTIVECAPTIONTEXT,
	#    "InfoBackground",		COLOR_INFOBK,
	#    "InfoText",			COLOR_INFOTEXT,
	#    "Menu",			COLOR_MENU,
	#    "MenuText",			COLOR_MENUTEXT,
	#    "Scrollbar",		COLOR_SCROLLBAR,
	#    "Window",			COLOR_WINDOW,
	#    "WindowFrame",		COLOR_WINDOWFRAME,
	#    "WindowText",		COLOR_WINDOWTEXT,

	variable \
		background       	"SystemButtonFace" \
		foreground       	"SystemButtonText" \
		disabledforeground      "SystemDisabledText" \
		disabledbackground      "SystemButtonShadow" \
		textfamily	     	$_prop_default \
		systemfamily       	$_prop_default \
		menufamily 	      	$_prop_default \
		fixedfamily       	$_fixed_default \
		fontsize	      	$_point \
		textbackground   	"SystemWindow" \
		textforeground   	"SystemWindowText" \
		disabledtextbackground  "SystemDisabledText" \
		selectbackground 	"SystemHighlight" \
		selectforeground 	"SystemHighlightText" \
		selectcolor      	"SystemWindow" \
		highlightcolor  	"SystemWindowFrame" \
		highlightbackground 	"SystemButtonFace" \
		scrollbars		"SystemScrollbar" \
		borderwidth      	$_bd \
		menubackground		"SystemMenu" \
		menuforeground		"SystemMenuText"

	variable highlightthickness         	1

	# Windows does not have an activebackground, but Tk does
	variable activebackground $background
	variable activeforeground $foreground
    } else {
	# intended for Unix

	# Tk uses the following defaults:

	#define NORMAL_BG	"#d9d9d9"
	#define ACTIVE_BG	"#ececec"
	#define SELECT_BG	"#c3c3c3"
	#define TROUGH		"#c3c3c3"
	#define INDICATOR	"#b03060"
	#define DISABLED	"#a3a3a3"

	# We know . exists and it has a background
	# This should be "#d9d9d9" under default Tk
	set _bg [. cget -background]

	set _prop_default helvetica
	# make sure this font is installed 
	set _allowed [string tolow [font families]]
	foreach font [list $_prop_default times fixed] {
	    if {[lsearch -exact $_allowed [string tolow $font]] > -1} {
		set _prop_default $font
		break
	    }
	}
	set _fixed_default courier
	# make sure this font is installed 
	foreach font [list $_fixed_default fixed] {
	    if {[lsearch -exact $_allowed [string tolow $font]] > -1} {
		set _fixed_default $font
		break
	    }
	}

	variable \
		background       	$_bg \
		foreground       	Black \
		disabledforeground      #808080 \
		disabledbackground      #a3a3a3 \
		textfamily	 	$_prop_default \
		systemfamily       	$_prop_default \
		menufamily       	$_prop_default \
		fixedfamily       	$_fixed_default \
		fontsize		$_pixel \
		textbackground   	white \
		textforeground   	Black \
		disabledtextbackground  $_bg \
		selectbackground 	#000080 \
		selectforeground 	white \
		selectcolor      	yellow \
		highlightcolor  	Black \
		highlightbackground     $_bg \
		scrollbars		"#c3c3c3" \
		borderwidth      	$_bd \
		menubackground       	$_bg \
		menuforeground       	Black

	variable highlightthickness         	1

	# Windows does not have an activebackground, but Tk does
	variable activebackground "#ececec"
	variable activeforeground $foreground
   }

   # priority should be userDefault?
   if {$_usetix} {
       variable priority [tix cget -schemepriority]
   } else {
       variable priority 75
   }

   # variables that will be derived during addoptions - set to null for now
   variable system_font {}
   variable menu_font  {}
   variable fixed_font {}
   variable text_font  {}

   # Different desktops have different visible regions
   # This is not working properly yet.
   variable geometry 0+0+[winfo screenwidth .]+$_screenheight

   # Different desktops have different focusmodels: clicktofocus or
   # followsmouse This is not working properly yet
   variable focusmodel clicktofocus

   # Some desktops have standardized link colors
   # This is not working properly yet
   variable linkcolor "#0000ff" vlinkcolor "#800000" alinkcolor "#800080"

   proc default {args} {
	# Override the defaults with any optional arguments
	foreach {var val} $args {
	    set $var $val
	}
    }

    proc setup {{type ""}} {
	# type is one of the recognized window managers
	# one of: cde kde win
	global tcl_platform env

	if {$type == ""} {
	    if {[set type [::tixDetermineWM]] == ""} {
		set ::wm_default::wm ""
		# Generic unix
		return
	    }
	}
	setup-$type
	set ::wm_default::wm $type
	# todo - make the menubutton enter and leave events more compatible
    }

    proc setup-windows {args} {
	# Already done by Tk above.
	# Should find out the useable window region
    }

    proc setup-gnome {args} {
	# GNOME is still barely supported because of the difficulty
	# of finding and parsing sawfish definition files.
	# First you have to find what window manager, then what theme,
	# then find the files, then parse them according to each Wm's syntax.
	global env

	set bg $wm_default::background
	set fg $wm_default::foreground
	set txtFont $wm_default::textfamily
	set btnFont $wm_default::systemfamily

	debug "Setting up Gnome environment"

	set file ~/.gnome/theme-switcher-capplet
	if {![file exists $file] || \
		[catch {open $file} fd] || $fd == ""} {
	    debug "Skipping $file"
	} else {
	    debug "Reading $file"
	    set contents [read $fd]
	    catch {close $fd}

	    if {![regexp -- "use_theme_font=true" $contents]} {
		# not activated
	    } elseif {[regexp -- "\nfont=(\[-a-zA-Z0-9,\]+)" $contents \
			   foo font]} {
		set_unix_font $font
	    }
	}

    }

    proc set_unix_font {font} {

	set list [split $font "-"]
	set font [lindex $list 2]
	set font [string tolow $font]
	if {$font != "" && [lsearch -exact [font families] $font] > -1} {
	    set wm_default::textfamily $font
	    debug "Setting textfamily to $font"
	    set wm_default::systemfamily $font
	    set wm_default::menufamily $font
	} else {
	    debug "Unable to set font: '$list'"
	}

	if {[set size [lindex $list 7]] != "" && \
		[string is integer -strict $size]} {
	    debug "Setting fontsize to '$size'"
	    set wm_default::fontsize $size
	} elseif {[set size [lindex $list 8]] != "" && \
		[string is integer -strict $size]} {
	    if {$size > 100} {set size [expr {$size / 10}]}
	    debug "Setting fontsize to '$size'"
	    set wm_default::fontsize $size
	} else {
	    debug "Unable to set fontsize: '$list'"
	}
    }

    # Common to KDE1 and KDE2
    proc setup-kde {args} {
	global env

	set file ~/.kderc
	if {![file exists $file] || [catch {open $file} fd] || $fd == ""} {
	    debug "Skipping $file"
	} else {
	    debug "Reading $file"
	    set contents [read $fd]
	    catch {close $fd}

	    if {[regexp -- "\nfixedfamily=(\[-a-zA-Z0-9, \]+)" $contents \
		    foo font]} {
		set list [split $font ","]
		set font [lindex $list 0]
		set wm_default::fixedfamily $font
		debug "Setting fixedfamily to $font"
	    }
	    if {[regexp -- "\nfont=(\[-a-zA-Z0-9, \]+)" $contents \
		    foo font]} {
		set list [split $font ","]
		set font [lindex $list 0]
		set wm_default::textfamily $font
		debug "Setting textfamily to $font"
		set wm_default::systemfamily $font
		set wm_default::menufamily $font
	    }
	}

    }

    proc setup-kde1 {args} {
	# Shortcut for the moment
	return [eval setup-kde $args]
    }

    proc set-kde2-color {str contents var} {
	if {[regexp -- "\n${str}=(\[0-9,\]+)" $contents -> color]} {
	    set color [eval [list format "#%02x%02x%02x"] [split $color ","]]
	    set ::wm_default::$var $color
	    debug "setting $var to $color"
	}
    }

    proc setup-kde2 {args} {
	global env

	set bg $wm_default::background
	set fg $wm_default::foreground
	set txtFont $wm_default::textfamily
	set btnFont $wm_default::systemfamily

	debug "Setting up KDE environment"

	# Look for system the user settings
	set dirs ~/.kde
	if {[info exists env(KDEDIR)] && [file isdir $env(KDEDIR)]} {
	    lappend dirs $env(KDEDIR)
	}
	# read them sequentially and overwrite the previous values
	foreach dir $dirs {
	    set file $dir/share/config/kdeglobals
	    if {![file exists $file] || [catch {open $file} fd] || $fd == ""} {
		debug "Skipping $file"
	    } else {
		debug "Reading $file"
		set contents [read $fd]
		catch {close $fd}
		set-kde2-color background $contents background
		set-kde2-color foreground $contents foreground
		set-kde2-color selectBackground $contents selectbackground
		set-kde2-color selectForeground $contents selectforeground
		set-kde2-color windowBackground $contents textbackground
		set-kde2-color visitedLinkColor $contents vlinkcolor
		set-kde2-color linkColor $contents linkcolor
		if {[regexp -- "\nactiveFont=(\[-a-zA-Z0-9, \]+)" $contents \
			 foo font]} {
		    set list [split $font ","]
		    set font [lindex $list 0]
		    set wm_default::textfamily $font
		    set size [lindex $list 1]
		    if {[string is integer -strict $size]} {
			set wm_default::fontsize $size
		    }
		    debug "Setting textfamily to $font"
		    set wm_default::systemfamily $font
		    set wm_default::menufamily $font
		}
	    }

	    # should pick up visitedLinkColor

	    set file $dir/share/config/kwmrc
	    if {![file exists $file] || [catch {open $file} fd] || $fd == ""} {
		debug "Skipping $file"
	    } else {
		debug "Reading $file"
		set contents [read $fd]
		catch {close $fd}
		if {[regexp -- "\nDesktop1Region=(\[0-9+\]+)" $contents \
			foo region]} {
		    set wm_default::geometry $region
		    debug "Setting geometry to $region"
		}

		if {[regexp -- "\nFocusPolicy=ClickToFocus" $contents \
			foo region]} {
		    set wm_default::focusmodel clicktofocus
		    debug "Setting focusmodel to clicktofocus"
		} else {
		    # followsmouse
		}
	    }
	}

	return [eval setup-kde $args]
    }

    proc setup-cde {args} {
	namespace import wm_default::*

	set bg $wm_default::background
	set fg $wm_default::foreground
	set txtFont $wm_default::textfamily
	set sysFont $wm_default::systemfamily

	debug "Setting up CDE environment"

        # if any of these options are missing, we must not be under CDE
	set txtFont [option get . textfamilyList textfamilyList]
	set sysFont [option get . systemfamilyList systemfamilyList]
        if {$txtFont ne "" && $sysFont ne ""} {
	    set txtFont [lindex [split $txtFont :] 0]
	    set sysFont [lindex [split $sysFont :] 0]
	    if {$txtFont ne ""} {set textfamily $txtFont}
	    if {$sysFont ne ""} {set systemfamily $sysFont}
	    #
	    # If we can find the user's dt.resources file, we can find out the
	    # palette and text background/foreground colors
	    #
	    set txtBg $bg
	    set txtFg $fg
	    set selFg  $selectforeground
	    set selBg  $selectbackground
	    set selCol $selectcolor
	    set fh ""
	    set palf ""
	    set cur_rsrc ~/.dt/sessions/current/dt.resources
	    set hom_rsrc ~/.dt/sessions/home/dt.resources
	    if {[file readable $cur_rsrc] && [file readable $hom_rsrc]} {
		if {[file mtime $cur_rsrc] > [file mtime $hom_rsrc]} {
		    if {[catch {open $cur_rsrc r} fh]} {set fh ""}
		} else {
		    if {[catch {open $hom_rsrc r} fh]} {set fh ""}
		}
	    } elseif {[file readable $cur_rsrc]} {
		if {[catch {open $cur_rsrc r} fh]} {set fh ""}
	    } elseif {[file readable $hom_rsrc]} {
		if {[catch {open $hom_rsrc r} fh]} {set fh ""}
	    }
	    if {[string length $fh] > 0} {
		while {[gets $fh ln] != -1} {
		    regexp -- "^\\*0\\*ColorPalette:\[ \t]*(.*)\$" $ln nil palf
		    regexp -- "^Window.Color.Background:\[ \t]*(.*)\$" $ln nil txtBg
		    regexp -- "^Window.Color.Foreground:\[ \t]*(.*)\$" $ln nil txtFg
		}
		catch {close $fh}
		if {$txtBg ne $bg} {
		    set selBg $txtFg
		    set selFg $txtBg
		}
	    }
	    #
	    # If the *0*ColorPalette setting was found above, try to find the
	    # indicated file in ~/.dt, $DTHOME, or /usr/dt.  The 3rd line in the
	    # file will be the radiobutton/checkbutton selectColor.
	    #
	    if {[string length $palf]} {
		set dtdir /usr/dt
		if [info exists env(DTHOME)] {
		    set dtdir $env(DTHOME)
		}
		if {[file readable ~/.dt/palettes/$palf]} {
		    set palf ~/.dt/palettes/$palf
		} elseif {[file readable $dtdir/palettes/$palf]} {
		    set palf $dtdir/palettes/$palf
		} else {
		    set palf ""
		}
		if {[string length $palf]} {
		    if {![catch {open $palf r} fh]} {
			# selectColor will be the 3rd line in the file --
			set ln ""; catch {gets $fh; gets $fh; gets $fh ln}
			set ln [string trim $ln]
			if {[string length $ln]} {set selCol $ln}
			close $fh
		    }
		}
	    }
	    set wm_default::background $bg
	    set wm_default::foreground $fg
	    set wm_default::textfamily $txtFont
	    set wm_default::systemfamily $sysFont
	    set wm_default::menufamily $sysFont
	    set wm_default::textbackground $txtBg
	    set wm_default::textforeground $txtFg
	    set wm_default::selectbackground $selBg
	    set wm_default::selectforeground $selFg
	    set wm_default::selectcolor $selCol
	}
    }

    proc derivefonts {} {
	global tcl_platform env

	# variables that will be derived
	variable system_font 
	variable menu_font 
	variable fixed_font 
	variable text_font 

        #
        # Set default fonts 
        #

	global tcl_platform env
	switch -exact -- $tcl_platform(platform) windows {
	    set system_font [list $::wm_default::systemfamily $::wm_default::fontsize]
	    set menu_font [list $::wm_default::menufamily $::wm_default::fontsize]
	    set text_font [list $::wm_default::textfamily $::wm_default::fontsize]
	    set fixed_font [list $::wm_default::fixedfamily $::wm_default::fontsize]
	} default {
	    set system_font [list $::wm_default::systemfamily -$::wm_default::fontsize]
	    if {[set type $::wm_default::wm] == ""} {
		# Generic unix
		# some Unix Wms seem to make Menu fonts bold - ugly IMHO
		set menu_font [list $::wm_default::menufamily -$::wm_default::fontsize bold]
	    } else {
		# gnome kde1 kde2 cde kde don't
		set menu_font [list $::wm_default::menufamily -$::wm_default::fontsize]
	    }
	    set text_font [list $::wm_default::textfamily -$::wm_default::fontsize]
	    set fixed_font [list $::wm_default::fixedfamily -$::wm_default::fontsize]
	}
    }

    proc addoptions {args} {
	global tcl_platform env tix_version

	# variables that will be derived
	variable system_font 
	variable menu_font 
	variable fixed_font 
	variable text_font 

	if {[info commands "tix"] != ""} {set _usetix 1} {set _usetix 0}

	# Override what you have found with any optional arguments
	foreach {var val} $args {
	    set var [string trimleft $var "-"]
	    set ::wm_default::$var $val
	}

	set pri $::wm_default::priority
	# If you are running under Tix, set the colorscheme now
	# The options below will then override the Tix settings
	if {$_usetix} {
	    # Tix's focus model is very non-standard
	    bind TixComboBox <FocusIn> ""
	    bind TixComboBox <FocusOut> ""

	    if {$tix_version < "8.2"} {
		# works??
		option add *TixNoteBook.nbframe.inactiveBackground \
			$::wm_default::disabledbackground $pri
	    } else {
		# works??
		option add *TixNoteBook.nbframe.inactiveBackground \
			$::wm_default::background $pri
	    }

	    # works??
	    option add *TixPanedWindow.seperatorBg \
		    $::wm_default::disabledbackground $pri
	    option add *TixPanedWindow.handleBg      \
		    $::wm_default::disabledbackground $pri

	    # works??
	    option add *TixPanedWindow.separatorActiveBg \
		    $::wm_default::activebackground $pri
	    option add *TixPanedWindow.handleActiveBg      \
		    $::wm_default::activebackground $pri
	    option add *TixPanedWindow.Background      \
		    $::wm_default::disabledbackground $pri

	    # works??
	    option add *TixResizeHandle*background \
		    $::wm_default::disabledbackground $pri

	}
        foreach pref $wm_default::_frame_widgets {
            option add $pref.background $::wm_default::background $pri
        }
	option add *Background $::wm_default::background $pri

	derivefonts

	# Set the global defaults to the system font
        foreach pref [list *Font *font] {
            option add $pref $system_font $pri
        }

	# Set the "system" type defaults to the system font
        foreach pref $wm_default::_menu_font_widgets {
            option add $pref.font $menu_font $pri
        }
        foreach pref $wm_default::_button_font_widgets {
            option add $pref.font $system_font $pri
            option add $pref.disabledForeground $::wm_default::disabledforeground $pri
            option add $pref.background $::wm_default::background $pri
            option add $pref.foreground $::wm_default::foreground $pri
	    option add $pref.highlightBackground $::wm_default::highlightbackground $pri
        }
        foreach pref $wm_default::_system_font_widgets {
            option add $pref.font $system_font $pri
            option add $pref.background $::wm_default::background $pri
            option add $pref.foreground $::wm_default::foreground $pri
	    option add $pref.highlightBackground $::wm_default::highlightbackground $pri
        }

        foreach pref $wm_default::_text_type_widgets {
            option add $pref.font $text_font $pri
            option add $pref.relief sunken $pri
            option add $pref.borderWidth $::wm_default::borderwidth $pri

            option add $pref.background $::wm_default::textbackground $pri
            option add $pref.foreground $::wm_default::textforeground $pri
            option add $pref.selectBackground $::wm_default::selectbackground $pri
            option add $pref.selectForeground $::wm_default::selectforeground $pri
            option add $pref.highlightThickness $::wm_default::highlightthickness $pri
            option add $pref.disabledBackground $::wm_default::disabledtextbackground $pri
        }
        foreach pref $wm_default::_insert_type_widgets {
            option add $pref.relief sunken $pri
            option add $pref.insertBackground $::wm_default::textforeground $pri
            option add $pref.highlightThickness $::wm_default::highlightthickness $pri
        }
        #
        # Set the Selector color for radiobuttons, checkbuttons, et. al
        #
        foreach pref $wm_default::_select_type_widgets {
            option add $pref.selectColor $::wm_default::selectcolor $pri
            option add $pref.background $::wm_default::background $pri
            option add $pref.foreground $::wm_default::foreground $pri

	    option add $pref.activeBackground $::wm_default::activebackground $pri
            option add $pref.activeForeground $::wm_default::activeforeground $pri
        }

	# Set the "active" defaults - this could be controversial
        foreach pref $wm_default::_menu_font_widgets {
	    option add $pref.activeBackground $::wm_default::activebackground $pri
            option add $pref.activeForeground $::wm_default::activeforeground $pri
            option add $pref.background $::wm_default::background $pri
            option add $pref.foreground $::wm_default::foreground $pri
            option add $pref.disabledForeground $::wm_default::disabledforeground $pri
            option add $pref.highlightThickness $::wm_default::highlightthickness $pri
        }

	switch -exact -- $tcl_platform(platform) windows {
	    # Make sure this is set to foreground - check marks on menus
	    set _menu_select_color $::wm_default::foreground
	} default {
	    # On unix there are recessed check boxes not check marks
	    set _menu_select_color $::wm_default::selectcolor
	}
	option add *Menu.selectColor $_menu_select_color $pri
	if {$_usetix} {
	    option add *TixMenu.selectColor $_menu_select_color $pri
            option add *TixBalloon*message.background $::wm_default::textbackground $pri
	}

	# Windows does not have an activebackground, but Tk does
        foreach pref $wm_default::_button_font_widgets {
            option add $pref.activeBackground $::wm_default::activebackground $pri
            option add $pref.activeForeground $::wm_default::activeforeground $pri
        }

        #
        # Set the default *button borderwidth
        #
	# option add *.borderWidth $::wm_default::borderwidth $pri

        foreach pref $wm_default::_active_borderwidth_widgets {
            option add $pref.activeBorderWidth $::wm_default::borderwidth $pri
            option add $pref.borderWidth $::wm_default::borderwidth $pri
        }
        foreach pref $wm_default::_nonzero_borderwidth_widgets {
            option add $pref.borderWidth $::wm_default::borderwidth $pri
        }
        foreach pref $wm_default::_null_borderwidth_widgets {
            option add $pref.borderWidth 0 $pri
        }

	if {$_usetix} {
	    if {$tix_version < "8.2"} {
		option add *TixNoteBook.nbframe.inactiveBackground \
			$::wm_default::disabledbackground $pri
		option add *TixNoteBook*nbframe.inactiveBackground \
			$::wm_default::disabledbackground $pri
	    } else {
		option add *TixNoteBook.nbframe.inactiveBackground \
			$::wm_default::background $pri
		option add *TixNoteBook*nbframe.inactiveBackground \
			$::wm_default::background $pri
	    }
	}

        foreach pref $wm_default::_scrollbar_widgets {
            option add $pref.background $::wm_default::background $pri
	    option add $pref.foreground $::wm_default::foreground $pri
	    # Tix 8.1.1 had these wrong
	    option add $pref.troughColor $::wm_default::scrollbars $pri
	    option add $pref.borderWidth $::wm_default::borderwidth $pri
	}
	option add *Scale.borderWidth $::wm_default::borderwidth $pri
	option add *Scale.troughColor $::wm_default::scrollbars $pri

	option add *highlightColor $::wm_default::highlightcolor $pri
	option add *highlightBackground $::wm_default::highlightbackground $pri
	option add *HighlightBackground $::wm_default::highlightbackground $pri

	# not _system_font_widgets
	set _focus_widgets [concat \
		$::wm_default::_frame_widgets \
		$::wm_default::_menu_font_widgets \
		$::wm_default::_text_type_widgets \
		$::wm_default::_insert_type_widgets \
		$::wm_default::_select_type_widgets \
		$::wm_default::_active_borderwidth_widgets \
		$::wm_default::_nonzero_borderwidth_widgets \
		$::wm_default::_null_borderwidth_widgets ]

	if {$_usetix} {
	    set _tix_hl_widgets [list *TixBitmapButton*label \
		    *TixComboBox*Entry \
		    *TixControl*entry \
		    *TixDirList*hlist \
		    *TixDirTree*hlist \
		    *TixFileEntry*Entry \
		    *TixFileEntry*entry \
		    *TixMultiList*Listbox \
		    *TixNoteBook.nbframe \
		    *TixOptionMenu*menubutton \
		    *TixScrolledHList*hlist \
		    *TixScrolledListBox*listbox\
		    *TixScrolledTList*tlist \
		    *TixTree*hlist]
	    eval lappend _focus_widgets $_tix_hl_widgets
	}

	foreach pref [lsort -uniq $_focus_widgets] {
	    option add $pref.highlightBackground $::wm_default::highlightbackground $pri
	}

	# Now for some things to make it look more like the WM

	# todo - look for and call
	if {$::wm_default::focusmodel eq "followsmouse"} {
	    tk_focusFollowsMouse
	}

	if {$_usetix} {
	    tixSetDefaultOptions

	    if {[lsearch -exact {windows kde1 kde2} $::wm_default::wm] > -1} {
		# Fix the way Button boxes are packed
		if {![llength [info procs ::tixButtonBox:add]]} {
		    uplevel #0 auto_load tixButtonBox
		}
		proc ::tixButtonBox:add {w name args} {
		    upvar #0 $w data
		    eval [linsert $args 0 button $w.$name]
		    if {![info exists data(-padx)]} {set data(-padx) 5}
		    if {![info exists data(-pady)]} {set data(-pady) 10}
		    if {$data(-orientation) eq "horizontal"} {
			# Push the Buttons  to the right
			if {[info commands $w.pad] == ""} {
			    label $w.pad
			    pack $w.pad -side left -expand yes -fill both
			}
			pack $w.$name -side left \
				-expand no \
				-padx $data(-padx) -pady $data(-pady)
		    } else {
			pack $w.$name -side top \
				-expand no -fill x \
				-padx $data(-padx) -pady $data(-pady)
		    }
		    lappend data(g:buttons) $name
		    set data(w:$name) $w.$name
		    return $w.$name
		}
		option add *TixButtonBox.relief flat $::wm_default::priority
		option add *TixButtonBox.borderwidth 2 $::wm_default::priority
	    }
	}
	return [getoptions]
    }

    namespace export setup addoptions getoptions parray
}

package provide wm_default 1.0


proc tixSetDefaultOptions {} {
    # Returns one of cde kde1 kde2 gnome windows or ""
    global tcl_platform env tixOption

    # There is no overlap between the wm_default variable names and
    # the old style tixOption names. So we can add the wm_default variable
    # names to the array tixOption, and allow people to upgrade in time.

    foreach variable {
	wm
	linkcolor
	vlinkcolor
	alinkcolor
	background
	foreground
	disabledforeground
	disabledbackground
	textfamily
	systemfamily
	menufamily
	fixedfamily
	fontsize
	textbackground
	textforeground
	disabledtextbackground
	selectbackground
	selectforeground
	selectcolor
	highlightcolor
	highlightbackground
	scrollbars
	borderwidth
	priority
	menubackground
	menuforeground
	activebackground
	activeforeground
	system_font
	menu_font
	fixed_font
	text_font
    } {
	set tixOption($variable) [set ::wm_default::$variable]
    }

}
PKqm�[jgr��Tix8.4.3/pref/WmDefault.fscnu�[���# -*-mode: tcl; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*-
#
#	$Id: WmDefault.fsc,v 1.2 2001/12/09 05:03:09 idiscovery Exp $
#
#

proc tixPref:InitFontSet:WmDefault {} { 
    global tixOption

    package require wm_default
    if {1 || ![info exists ::wm_default::wm]} {
	wm_default::setup
	wm_default::addoptions
    }

    set tixOption(font) 	$::wm_default::system_font
    set tixOption(bold_font)    [concat $::wm_default::system_font bold]
    set tixOption(menu_font)    $::wm_default::menu_font        
    set tixOption(italic_font)  [concat $::wm_default::system_font italic]
    set tixOption(fixed_font)   $::wm_default::fixed_font
    set tixOption(border1)      $::wm_default::borderwidth

}

proc tixPref:SetFontSet:WmDefault {} { 
    global tixOption

    package require wm_default
    if {1 || ![info exists ::wm_default::wm]} {
	wm_default::setup
	wm_default::addoptions
    }

    set pri $tixOption(prioLevel)

    set tixOption(font) 	$::wm_default::system_font
    set tixOption(bold_font)    [concat $::wm_default::system_font bold]
    set tixOption(menu_font)    $::wm_default::menu_font        
    set tixOption(italic_font)  [concat $::wm_default::system_font italic]
    set tixOption(fixed_font)   $::wm_default::fixed_font
    set tixOption(text_font)    $::wm_default::text_font
    set tixOption(border1)      $::wm_default::borderwidth

    option add *TixBalloon*Label.font 		$tixOption(font) $pri
    option add *TixBitmapButton*label.font 	$tixOption(font) $pri
    option add *TixControl*label.font          	$tixOption(font) $pri
    option add *TixLabelEntry*label.font       	$tixOption(font) $pri
    option add *TixLabelFrame*label.font 	$tixOption(font) $pri
    option add *TixMenu.font			$tixOption(menu_font) $pri
    option add *TixMwmClient*title.font		$tixOption(font) $pri
    option add *TixNoteBook.nbframe.font	$tixOption(font) $pri
    # Although its a menubutton, it's more like a button than a menu IMHO
    option add *TixOptionMenu*menubutton.font	$tixOption(font) $pri
    option add *TixComboBox*Entry.font		$tixOption(font) $pri
    option add *TixFileSelectBox*Label.font    	$tixOption(font) $pri

}
PKqm�[�2+��Tix8.4.3/pref/WmDefault.csnu�[���# -*-mode: tcl; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*-
#
#	$Id: WmDefault.cs,v 1.2 2001/12/09 05:03:09 idiscovery Exp $
#

proc tixSetScheme-Color {} {
    global tixOption

    package require wm_default
    if {![info exists ::wm_default::wm]} {
	wm_default::setup
	wm_default::addoptions
    }

    set tixOption(bg)           $::wm_default::background
    set tixOption(fg)           $::wm_default::foreground

    set tixOption(dark1_bg)     #808080

    set tixOption(inactive_bg)  $::wm_default::disabledbackground
    set tixOption(inactive_fg)  black; # unused

    # light1 was used for listbox widgets and trough colors
    set tixOption(light1_bg)    $::wm_default::scrollbars
    set tixOption(light1_fg)    white; # unused

    # text is now used for listbox widgets
    set tixOption(list_bg)   	$::wm_default::textbackground

    set tixOption(active_bg)    $::wm_default::activebackground
    set tixOption(active_fg)    $::wm_default::activeforeground

    set tixOption(disabled_fg)  $::wm_default::disabledforeground
    # new
    set tixOption(disabled_bg)  $::wm_default::disabledtextbackground

    set tixOption(input1_bg)    $::wm_default::textbackground
    set tixOption(input1_fg)    $::wm_default::textforeground

    set tixOption(select_fg)    $::wm_default::selectforeground
    set tixOption(select_bg)    $::wm_default::selectbackground
	
    set tixOption(selector)	$::wm_default::selectcolor

}
PKqm�[��)��Tix8.4.3/pref/10Point.fscnu�[���#
# $Id: 10Point.fsc,v 1.2 2002/01/24 09:17:02 idiscovery Exp $
#
proc tixPref:InitFontSet:10Point {} { 

    global tixOption tcl_platform

    switch -- $tcl_platform(platform) "windows" {
	# This should be Tahoma for Win2000/XP
	set font "MS Sans Sherif"
	set fixedfont "Courier New"
    } unix {
	set font "helvetica"
	set fixedfont "courier"
    }

    set tixOption(font)         [list $font -10]
    set tixOption(bold_font)    [list $font -10 bold]
    set tixOption(menu_font)    [list $font -10]
    set tixOption(italic_font)  [list $font -10 bold italic]
    set tixOption(fixed_font)   [list $fixedfont -10]
    set tixOption(border1)      1

}
proc tixPref:SetFontSet:10Point {} { 
global tixOption
option add *Font			$tixOption(font) $tixOption(prioLevel)
option add *font			$tixOption(font) $tixOption(prioLevel)
option add *Menu.font			$tixOption(menu_font) $tixOption(prioLevel)
option add *TixMenu.font			$tixOption(menu_font) $tixOption(prioLevel)
option add *Menubutton.font			$tixOption(menu_font) $tixOption(prioLevel)
option add *Label.font              	$tixOption(bold_font) $tixOption(prioLevel)
option add *Scale.font			$tixOption(italic_font) $tixOption(prioLevel)
option add *TixBalloon*Label.font 			$tixOption(font) $tixOption(prioLevel)
option add *TixBitmapButton*label.font 			$tixOption(font) $tixOption(prioLevel)
option add *TixControl*label.font              	$tixOption(bold_font) $tixOption(prioLevel)
option add *TixLabelEntry*label.font              	$tixOption(bold_font) $tixOption(prioLevel)
option add *TixLabelFrame*label.font 	 		$tixOption(bold_font) $tixOption(prioLevel)
option add *TixMwmClient*title.font			$tixOption(menu_font) $tixOption(prioLevel)
option add *TixNoteBook.nbframe.font			$tixOption(menu_font) $tixOption(prioLevel)
option add *TixOptionMenu*menubutton.font		$tixOption(font) $tixOption(prioLevel)
option add *TixComboBox*Entry.font				$tixOption(font) $tixOption(prioLevel)
option add *TixFileSelectBox*Label.font            		$tixOption(bold_font) $tixOption(prioLevel)
}
PKqm�[���Tix8.4.3/pref/Blue.csnu�[���#
# $Id: Blue.cs,v 1.1.1.1 2000/05/17 11:08:47 idiscovery Exp $
#
proc tixSetScheme-Color {} {
    global tixOption

    set tixOption(bg)           #9090f0
    set tixOption(fg)           black

    set tixOption(dark1_bg)     #8080d0
    set tixOption(dark1_fg)     black
    set tixOption(dark2_bg)     #7070c0
    set tixOption(dark2_fg)     black
    set tixOption(inactive_bg)  #8080da
    set tixOption(inactive_fg)  black

    set tixOption(light1_bg)    #a8a8ff
    set tixOption(light1_fg)    black
    set tixOption(light2_bg)    #c0c0ff
    set tixOption(light2_fg)    black

    set tixOption(active_bg)    $tixOption(dark1_bg)
    set tixOption(active_fg)    $tixOption(fg)
    set tixOption(disabled_fg)  gray25

    set tixOption(input1_bg)    $tixOption(light1_bg)
    set tixOption(input2_bg)    $tixOption(bg)
    set tixOption(output1_bg)   $tixOption(light1_bg)
    set tixOption(output2_bg)   $tixOption(bg)

    set tixOption(select_fg)    white
    set tixOption(select_bg)    black

    set tixOption(selector)	yellow
}
PKqm�[} �XXTix8.4.3/pref/Blue.cscnu�[���#
# $Id: Blue.csc,v 1.2 2000/10/12 01:59:28 idiscovery Exp $
#
proc tixPref:SetScheme-Color:Blue {} {

    global tixOption

    set tixOption(bg)           #9090f0
    set tixOption(fg)           black

    set tixOption(dark1_bg)     #8080d0
    set tixOption(dark1_fg)     black
    set tixOption(dark2_bg)     #7070c0
    set tixOption(dark2_fg)     black
    set tixOption(inactive_bg)  #8080da
    set tixOption(inactive_fg)  black

    set tixOption(light1_bg)    #a8a8ff
    set tixOption(light1_fg)    black
    set tixOption(light2_bg)    #c0c0ff
    set tixOption(light2_fg)    black

    set tixOption(active_bg)    $tixOption(dark1_bg)
    set tixOption(active_fg)    $tixOption(fg)
    set tixOption(disabled_fg)  gray25

    set tixOption(input1_bg)    $tixOption(light1_bg)
    set tixOption(input2_bg)    $tixOption(bg)
    set tixOption(output1_bg)   $tixOption(light1_bg)
    set tixOption(output2_bg)   $tixOption(bg)

    set tixOption(select_fg)    white
    set tixOption(select_bg)    black

    set tixOption(selector)	yellow

option add *background 		$tixOption(bg) 10
option add *Background		$tixOption(bg) $tixOption(prioLevel)
option add *background		$tixOption(bg) $tixOption(prioLevel)
option add *Foreground		$tixOption(fg) $tixOption(prioLevel)
option add *foreground		$tixOption(fg) $tixOption(prioLevel)
option add *activeBackground	$tixOption(active_bg) $tixOption(prioLevel)
option add *activeForeground	$tixOption(active_fg) $tixOption(prioLevel)
option add *HighlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *selectBackground	$tixOption(select_bg) $tixOption(prioLevel)
option add *selectForeground	$tixOption(select_fg) $tixOption(prioLevel)
option add *selectBorderWidth	0 $tixOption(prioLevel)
option add *Menu.selectColor		$tixOption(selector) $tixOption(prioLevel)
option add *TixMenu.selectColor		$tixOption(selector) $tixOption(prioLevel)
option add *Menubutton.padY			5 $tixOption(prioLevel)
option add *Button.borderWidth		2 $tixOption(prioLevel)
option add *Button.anchor		c $tixOption(prioLevel)
option add *Checkbutton.selectColor		$tixOption(selector) $tixOption(prioLevel)
option add *Radiobutton.selectColor		$tixOption(selector) $tixOption(prioLevel)
option add *Entry.relief		sunken $tixOption(prioLevel)
option add *Entry.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *Entry.background		$tixOption(input1_bg) $tixOption(prioLevel)
option add *Entry.foreground		black $tixOption(prioLevel)
option add *Entry.insertBackground	black $tixOption(prioLevel)
option add *Label.anchor		w $tixOption(prioLevel)
option add *Label.borderWidth		0 $tixOption(prioLevel)
option add *Listbox.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *Listbox.relief		sunken $tixOption(prioLevel)
option add *Scale.foreground		$tixOption(fg) $tixOption(prioLevel)
option add *Scale.activeForeground	$tixOption(bg) $tixOption(prioLevel)
option add *Scale.background		$tixOption(bg) $tixOption(prioLevel)
option add *Scale.sliderForeground	$tixOption(bg) $tixOption(prioLevel)
option add *Scale.sliderBackground	$tixOption(light1_bg) $tixOption(prioLevel)
option add *Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *Scrollbar.relief		sunken $tixOption(prioLevel)
option add *Scrollbar.borderWidth		1 $tixOption(prioLevel)
option add *Scrollbar.width			15 $tixOption(prioLevel)
option add *Text.background		$tixOption(input1_bg) $tixOption(prioLevel)
option add *Text.relief		sunken $tixOption(prioLevel)
option add *TixBalloon*background 			#ffff60 $tixOption(prioLevel)
option add *TixBalloon*foreground 			black $tixOption(prioLevel)
option add *TixBalloon.background 			black $tixOption(prioLevel)
option add *TixBalloon*Label.anchor 			w $tixOption(prioLevel)
option add *TixControl*entry.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixControl*entry.background		$tixOption(input1_bg) $tixOption(prioLevel)
option add *TixControl*entry.foreground		black $tixOption(prioLevel)
option add *TixControl*entry.insertBackground	black $tixOption(prioLevel)
option add *TixDirTree*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixDirTree*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixDirTree*hlist.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixDirTree*hlist.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixDirTree*hlist.activeBackground	$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixDirTree*hlist.disabledBackground	$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixDirTree*f1.borderWidth		1 $tixOption(prioLevel)
option add *TixDirTree*f1.relief			sunken $tixOption(prioLevel)
option add *TixDirList*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixDirList*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixDirList*hlist.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixDirList*hlist.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixDirList*hlist.activeBackground	$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixDirList*hlist.disabledBackground	$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixDirList*f1.borderWidth		1 $tixOption(prioLevel)
option add *TixDirList*f1.relief			sunken $tixOption(prioLevel)
option add *TixScrolledHList*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledHList*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledHList*hlist.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledHList*hlist.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledHList*hlist.activeBackground	$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledHList*hlist.disabledBackground	$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledHList*f1.borderWidth		1 $tixOption(prioLevel)
option add *TixScrolledHList*f1.relief			sunken $tixOption(prioLevel)
option add *TixTree*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixTree*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixTree*hlist.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixTree*hlist.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixTree*hlist.activeBackground	$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixTree*hlist.disabledBackground	$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixTree*f1.borderWidth		1 $tixOption(prioLevel)
option add *TixTree*f1.relief			sunken $tixOption(prioLevel)
option add *TixFileEntry*Entry.background 		$tixOption(input1_bg) $tixOption(prioLevel)
option add *TixHList.background			$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixHList.activeBackground		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixHList.disabledBackground		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixLabelEntry*entry.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixLabelEntry*entry.background		$tixOption(input1_bg) $tixOption(prioLevel)
option add *TixLabelEntry*entry.foreground		black $tixOption(prioLevel)
option add *TixLabelEntry*entry.insertBackground	black $tixOption(prioLevel)
option add *TixMultiList*Listbox.borderWidth		0 $tixOption(prioLevel)
option add *TixMultiList*Listbox.highlightThickness	0 $tixOption(prioLevel)
option add *TixMultiList*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixMultiList*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixMultiList*Scrollbar.relief		sunken $tixOption(prioLevel)
option add *TixMultiList*Scrollbar.width		15 $tixOption(prioLevel)
option add *TixMultiList*f1.borderWidth		2 $tixOption(prioLevel)
option add *TixMultiList*f1.relief			sunken $tixOption(prioLevel)
option add *TixMultiList*f1.highlightThickness		2 $tixOption(prioLevel)
option add *TixMDIMenuBar*menubar.relief		raised $tixOption(prioLevel)
option add *TixMDIMenuBar*menubar.borderWidth		2 $tixOption(prioLevel)
option add *TixMDIMenuBar*Menubutton.padY 		2 $tixOption(prioLevel)
option add *TixNoteBook.Background			$tixOption(bg) $tixOption(prioLevel)
option add *TixNoteBook.nbframe.Background		$tixOption(bg) $tixOption(prioLevel)
option add *TixNoteBook.nbframe.backPageColor		$tixOption(bg) $tixOption(prioLevel)
option add *TixNoteBook.nbframe.inactiveBackground	$tixOption(inactive_bg) $tixOption(prioLevel)
option add *TixPanedWindow.handleActiveBg 		$tixOption(active_bg) $tixOption(prioLevel)
option add *TixPanedWindow.seperatorBg    		$tixOption(bg) $tixOption(prioLevel)
option add *TixPanedWindow.handleBg       		$tixOption(dark1_bg) $tixOption(prioLevel)
option add *TixPopupMenu*menubutton.background 	$tixOption(dark1_bg) $tixOption(prioLevel)
option add *TixScrolledHList*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledHList*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledHList*hlist.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledHList*hlist.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledTList*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledTList*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledTList*tlist.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledTList*tlist.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledListBox*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledListBox*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledListBox*listbox.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledListBox*listbox.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledText*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledText*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledWindow*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledWindow*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledWindow.frame.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixTree*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixTree*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixTree*hlist.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixTree*hlist.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixTree*hlist.borderWidth		1 $tixOption(prioLevel)
option add *TixComboBox*Entry.highlightBackground		$tixOption(bg) $tixOption(prioLevel)
option add *TixComboBox*Entry.background			$tixOption(input1_bg) $tixOption(prioLevel)
option add *TixComboBox*Entry.foreground			black $tixOption(prioLevel)
option add *TixComboBox*Entry.insertBackground		black $tixOption(prioLevel)
}
proc tixPref:SetScheme-Mono:Blue {} {


    global tixOption

    set tixOption(bg)           lightgray
    set tixOption(fg)           black

    set tixOption(dark1_bg)     gray70
    set tixOption(dark1_fg)     black
    set tixOption(dark2_bg)     gray60
    set tixOption(dark2_fg)     white
    set tixOption(inactive_bg)  lightgray
    set tixOption(inactive_fg)  black

    set tixOption(light1_bg)    gray90
    set tixOption(light1_fg)    white
    set tixOption(light2_bg)    gray95
    set tixOption(light2_fg)    white

    set tixOption(active_bg)    gray90
    set tixOption(active_fg)    $tixOption(fg)
    set tixOption(disabled_fg)  gray55

    set tixOption(input1_bg)    $tixOption(light1_bg)
    set tixOption(input2_bg)    $tixOption(light1_bg)
    set tixOption(output1_bg)   $tixOption(light1_bg)
    set tixOption(output2_bg)   $tixOption(light1_bg)

    set tixOption(select_fg)    white
    set tixOption(select_bg)    black

    set tixOption(selector)	black

option add *background 		$tixOption(bg) 10
option add *Background		$tixOption(bg) $tixOption(prioLevel)
option add *background		$tixOption(bg) $tixOption(prioLevel)
option add *Foreground		$tixOption(fg) $tixOption(prioLevel)
option add *foreground		$tixOption(fg) $tixOption(prioLevel)
option add *activeBackground	$tixOption(active_bg) $tixOption(prioLevel)
option add *activeForeground	$tixOption(active_fg) $tixOption(prioLevel)
option add *HighlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *selectBackground	$tixOption(select_bg) $tixOption(prioLevel)
option add *selectForeground	$tixOption(select_fg) $tixOption(prioLevel)
option add *selectBorderWidth	0 $tixOption(prioLevel)
option add *Menu.selectColor		$tixOption(selector) $tixOption(prioLevel)
option add *TixMenu.selectColor		$tixOption(selector) $tixOption(prioLevel)
option add *Menubutton.padY			5 $tixOption(prioLevel)
option add *Button.borderWidth		2 $tixOption(prioLevel)
option add *Button.anchor		c $tixOption(prioLevel)
option add *Checkbutton.selectColor		$tixOption(selector) $tixOption(prioLevel)
option add *Radiobutton.selectColor		$tixOption(selector) $tixOption(prioLevel)
option add *Entry.relief		sunken $tixOption(prioLevel)
option add *Entry.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *Entry.background		$tixOption(input1_bg) $tixOption(prioLevel)
option add *Entry.foreground		black $tixOption(prioLevel)
option add *Entry.insertBackground	black $tixOption(prioLevel)
option add *Label.anchor		w $tixOption(prioLevel)
option add *Label.borderWidth		0 $tixOption(prioLevel)
option add *Listbox.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *Listbox.relief		sunken $tixOption(prioLevel)
option add *Scale.foreground		$tixOption(fg) $tixOption(prioLevel)
option add *Scale.activeForeground	$tixOption(bg) $tixOption(prioLevel)
option add *Scale.background		$tixOption(bg) $tixOption(prioLevel)
option add *Scale.sliderForeground	$tixOption(bg) $tixOption(prioLevel)
option add *Scale.sliderBackground	$tixOption(light1_bg) $tixOption(prioLevel)
option add *Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *Scrollbar.relief		sunken $tixOption(prioLevel)
option add *Scrollbar.borderWidth		1 $tixOption(prioLevel)
option add *Scrollbar.width			15 $tixOption(prioLevel)
option add *Text.background		$tixOption(input1_bg) $tixOption(prioLevel)
option add *Text.relief		sunken $tixOption(prioLevel)
option add *TixBalloon*background 			#ffff60 $tixOption(prioLevel)
option add *TixBalloon*foreground 			black $tixOption(prioLevel)
option add *TixBalloon.background 			black $tixOption(prioLevel)
option add *TixBalloon*Label.anchor 			w $tixOption(prioLevel)
option add *TixControl*entry.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixControl*entry.background		$tixOption(input1_bg) $tixOption(prioLevel)
option add *TixControl*entry.foreground		black $tixOption(prioLevel)
option add *TixControl*entry.insertBackground	black $tixOption(prioLevel)
option add *TixDirTree*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixDirTree*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixDirTree*hlist.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixDirTree*hlist.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixDirTree*hlist.activeBackground	$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixDirTree*hlist.disabledBackground	$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixDirTree*f1.borderWidth		1 $tixOption(prioLevel)
option add *TixDirTree*f1.relief			sunken $tixOption(prioLevel)
option add *TixDirList*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixDirList*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixDirList*hlist.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixDirList*hlist.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixDirList*hlist.activeBackground	$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixDirList*hlist.disabledBackground	$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixDirList*f1.borderWidth		1 $tixOption(prioLevel)
option add *TixDirList*f1.relief			sunken $tixOption(prioLevel)
option add *TixScrolledHList*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledHList*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledHList*hlist.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledHList*hlist.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledHList*hlist.activeBackground	$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledHList*hlist.disabledBackground	$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledHList*f1.borderWidth		1 $tixOption(prioLevel)
option add *TixScrolledHList*f1.relief			sunken $tixOption(prioLevel)
option add *TixTree*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixTree*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixTree*hlist.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixTree*hlist.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixTree*hlist.activeBackground	$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixTree*hlist.disabledBackground	$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixTree*f1.borderWidth		1 $tixOption(prioLevel)
option add *TixTree*f1.relief			sunken $tixOption(prioLevel)
option add *TixFileEntry*Entry.background 		$tixOption(input1_bg) $tixOption(prioLevel)
option add *TixHList.background			$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixHList.activeBackground		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixHList.disabledBackground		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixLabelEntry*entry.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixLabelEntry*entry.background		$tixOption(input1_bg) $tixOption(prioLevel)
option add *TixLabelEntry*entry.foreground		black $tixOption(prioLevel)
option add *TixLabelEntry*entry.insertBackground	black $tixOption(prioLevel)
option add *TixMultiList*Listbox.borderWidth		0 $tixOption(prioLevel)
option add *TixMultiList*Listbox.highlightThickness	0 $tixOption(prioLevel)
option add *TixMultiList*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixMultiList*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixMultiList*Scrollbar.relief		sunken $tixOption(prioLevel)
option add *TixMultiList*Scrollbar.width		15 $tixOption(prioLevel)
option add *TixMultiList*f1.borderWidth		2 $tixOption(prioLevel)
option add *TixMultiList*f1.relief			sunken $tixOption(prioLevel)
option add *TixMultiList*f1.highlightThickness		2 $tixOption(prioLevel)
option add *TixMDIMenuBar*menubar.relief		raised $tixOption(prioLevel)
option add *TixMDIMenuBar*menubar.borderWidth		2 $tixOption(prioLevel)
option add *TixMDIMenuBar*Menubutton.padY 		2 $tixOption(prioLevel)
option add *TixNoteBook.Background			$tixOption(bg) $tixOption(prioLevel)
option add *TixNoteBook.nbframe.Background		$tixOption(bg) $tixOption(prioLevel)
option add *TixNoteBook.nbframe.backPageColor		$tixOption(bg) $tixOption(prioLevel)
option add *TixNoteBook.nbframe.inactiveBackground	$tixOption(inactive_bg) $tixOption(prioLevel)
option add *TixPanedWindow.handleActiveBg 		$tixOption(active_bg) $tixOption(prioLevel)
option add *TixPanedWindow.seperatorBg    		$tixOption(bg) $tixOption(prioLevel)
option add *TixPanedWindow.handleBg       		$tixOption(dark1_bg) $tixOption(prioLevel)
option add *TixPopupMenu*menubutton.background 	$tixOption(dark1_bg) $tixOption(prioLevel)
option add *TixScrolledHList*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledHList*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledHList*hlist.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledHList*hlist.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledTList*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledTList*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledTList*tlist.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledTList*tlist.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledListBox*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledListBox*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledListBox*listbox.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledListBox*listbox.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledText*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledText*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledWindow*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledWindow*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledWindow.frame.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixTree*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixTree*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixTree*hlist.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixTree*hlist.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixTree*hlist.borderWidth		1 $tixOption(prioLevel)
option add *TixComboBox*Entry.highlightBackground		$tixOption(bg) $tixOption(prioLevel)
option add *TixComboBox*Entry.background			$tixOption(input1_bg) $tixOption(prioLevel)
option add *TixComboBox*Entry.foreground			black $tixOption(prioLevel)
option add *TixComboBox*Entry.insertBackground		black $tixOption(prioLevel)
}
PKqm�[�^�Tix8.4.3/pref/TK.csnu�[���#
# $Id: TK.cs,v 1.1.1.1 2000/05/17 11:08:47 idiscovery Exp $
#
proc tixSetScheme-Color {} {
    global tixOption

    set tixOption(bg)           #d9d9d9
    set tixOption(fg)           black

    set tixOption(dark1_bg)     #c3c3c3
    set tixOption(dark1_fg)     black
    set tixOption(dark2_bg)     #a3a3a3
    set tixOption(dark2_fg)     black
    set tixOption(inactive_bg)  #a3a3a3
    set tixOption(inactive_fg)  black

    set tixOption(light1_bg)    #ececec
    set tixOption(light1_fg)    white
    set tixOption(light2_bg)    #fcfcfc
    set tixOption(light2_fg)    white

    set tixOption(active_bg)    $tixOption(dark1_bg)
    set tixOption(active_fg)    $tixOption(fg)
    set tixOption(disabled_fg)  gray55

    set tixOption(input1_bg)    #d9d9d9
    set tixOption(input2_bg)    #d9d9d9
    set tixOption(output1_bg)   $tixOption(dark1_bg)
    set tixOption(output2_bg)   $tixOption(bg)

    set tixOption(select_fg)    black
    set tixOption(select_bg)    #c3c3c3

    set tixOption(selector)	#b03060
}
PKqm�[���C��Tix8.4.3/pref/10Point.fsnu�[���#
# $Id: 10Point.fs,v 1.2 2002/01/24 09:17:02 idiscovery Exp $
#

proc tixSetFontset {} {
    global tixOption tcl_platform

    switch -- $tcl_platform(platform) "windows" {
	# This should be Tahoma for Win2000/XP
	set font "MS Sans Sherif"
	set fixedfont "Courier New"
    } unix {
	set font "helvetica"
	set fixedfont "courier"
    }

    set tixOption(font)         [list $font -10]
    set tixOption(bold_font)    [list $font -10 bold]
    set tixOption(menu_font)    [list $font -10]
    set tixOption(italic_font)  [list $font -10 bold italic]
    set tixOption(fixed_font)   [list $fixedfont -10]
    set tixOption(border1)      1
}
PKqm�['��HXXTix8.4.3/pref/TixGray.cscnu�[���#
# $Id: TixGray.csc,v 1.2 2000/10/12 02:00:25 idiscovery Exp $
#
proc tixPref:SetScheme-Color:TixGray {} {


    global tixOption

    set tixOption(bg)           lightgray
    set tixOption(fg)           black

    set tixOption(dark1_bg)     gray86
    set tixOption(dark1_fg)     black
    set tixOption(dark2_bg)     gray77
    set tixOption(dark2_fg)     black
    set tixOption(inactive_bg)  gray77
    set tixOption(inactive_fg)  black

    set tixOption(light1_bg)    gray92
    set tixOption(light1_fg)    white
    set tixOption(light2_bg)    gray95
    set tixOption(light2_fg)    white

    set tixOption(active_bg)    $tixOption(dark1_bg)
    set tixOption(active_fg)    $tixOption(fg)
    set tixOption(disabled_fg)  gray55

    set tixOption(input1_bg)    gray95
    set tixOption(input2_bg)    gray95
    set tixOption(output1_bg)   $tixOption(dark1_bg)
    set tixOption(output2_bg)   $tixOption(bg)

    set tixOption(select_fg)    black
    set tixOption(select_bg)    lightblue

    set tixOption(selector)	yellow

option add *background 		$tixOption(bg) 10
option add *Background		$tixOption(bg) $tixOption(prioLevel)
option add *background		$tixOption(bg) $tixOption(prioLevel)
option add *Foreground		$tixOption(fg) $tixOption(prioLevel)
option add *foreground		$tixOption(fg) $tixOption(prioLevel)
option add *activeBackground	$tixOption(active_bg) $tixOption(prioLevel)
option add *activeForeground	$tixOption(active_fg) $tixOption(prioLevel)
option add *HighlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *selectBackground	$tixOption(select_bg) $tixOption(prioLevel)
option add *selectForeground	$tixOption(select_fg) $tixOption(prioLevel)
option add *selectBorderWidth	0 $tixOption(prioLevel)
option add *Menu.selectColor		$tixOption(selector) $tixOption(prioLevel)
option add *TixMenu.selectColor		$tixOption(selector) $tixOption(prioLevel)
option add *Menubutton.padY			5 $tixOption(prioLevel)
option add *Button.borderWidth		2 $tixOption(prioLevel)
option add *Button.anchor		c $tixOption(prioLevel)
option add *Checkbutton.selectColor		$tixOption(selector) $tixOption(prioLevel)
option add *Radiobutton.selectColor		$tixOption(selector) $tixOption(prioLevel)
option add *Entry.relief		sunken $tixOption(prioLevel)
option add *Entry.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *Entry.background		$tixOption(input1_bg) $tixOption(prioLevel)
option add *Entry.foreground		black $tixOption(prioLevel)
option add *Entry.insertBackground	black $tixOption(prioLevel)
option add *Label.anchor		w $tixOption(prioLevel)
option add *Label.borderWidth		0 $tixOption(prioLevel)
option add *Listbox.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *Listbox.relief		sunken $tixOption(prioLevel)
option add *Scale.foreground		$tixOption(fg) $tixOption(prioLevel)
option add *Scale.activeForeground	$tixOption(bg) $tixOption(prioLevel)
option add *Scale.background		$tixOption(bg) $tixOption(prioLevel)
option add *Scale.sliderForeground	$tixOption(bg) $tixOption(prioLevel)
option add *Scale.sliderBackground	$tixOption(light1_bg) $tixOption(prioLevel)
option add *Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *Scrollbar.relief		sunken $tixOption(prioLevel)
option add *Scrollbar.borderWidth		1 $tixOption(prioLevel)
option add *Scrollbar.width			15 $tixOption(prioLevel)
option add *Text.background		$tixOption(input1_bg) $tixOption(prioLevel)
option add *Text.relief		sunken $tixOption(prioLevel)
option add *TixBalloon*background 			#ffff60 $tixOption(prioLevel)
option add *TixBalloon*foreground 			black $tixOption(prioLevel)
option add *TixBalloon.background 			black $tixOption(prioLevel)
option add *TixBalloon*Label.anchor 			w $tixOption(prioLevel)
option add *TixControl*entry.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixControl*entry.background		$tixOption(input1_bg) $tixOption(prioLevel)
option add *TixControl*entry.foreground		black $tixOption(prioLevel)
option add *TixControl*entry.insertBackground	black $tixOption(prioLevel)
option add *TixDirTree*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixDirTree*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixDirTree*hlist.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixDirTree*hlist.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixDirTree*hlist.activeBackground	$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixDirTree*hlist.disabledBackground	$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixDirTree*f1.borderWidth		1 $tixOption(prioLevel)
option add *TixDirTree*f1.relief			sunken $tixOption(prioLevel)
option add *TixDirList*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixDirList*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixDirList*hlist.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixDirList*hlist.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixDirList*hlist.activeBackground	$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixDirList*hlist.disabledBackground	$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixDirList*f1.borderWidth		1 $tixOption(prioLevel)
option add *TixDirList*f1.relief			sunken $tixOption(prioLevel)
option add *TixScrolledHList*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledHList*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledHList*hlist.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledHList*hlist.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledHList*hlist.activeBackground	$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledHList*hlist.disabledBackground	$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledHList*f1.borderWidth		1 $tixOption(prioLevel)
option add *TixScrolledHList*f1.relief			sunken $tixOption(prioLevel)
option add *TixTree*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixTree*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixTree*hlist.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixTree*hlist.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixTree*hlist.activeBackground	$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixTree*hlist.disabledBackground	$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixTree*f1.borderWidth		1 $tixOption(prioLevel)
option add *TixTree*f1.relief			sunken $tixOption(prioLevel)
option add *TixFileEntry*Entry.background 		$tixOption(input1_bg) $tixOption(prioLevel)
option add *TixHList.background			$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixHList.activeBackground		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixHList.disabledBackground		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixLabelEntry*entry.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixLabelEntry*entry.background		$tixOption(input1_bg) $tixOption(prioLevel)
option add *TixLabelEntry*entry.foreground		black $tixOption(prioLevel)
option add *TixLabelEntry*entry.insertBackground	black $tixOption(prioLevel)
option add *TixMultiList*Listbox.borderWidth		0 $tixOption(prioLevel)
option add *TixMultiList*Listbox.highlightThickness	0 $tixOption(prioLevel)
option add *TixMultiList*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixMultiList*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixMultiList*Scrollbar.relief		sunken $tixOption(prioLevel)
option add *TixMultiList*Scrollbar.width		15 $tixOption(prioLevel)
option add *TixMultiList*f1.borderWidth		2 $tixOption(prioLevel)
option add *TixMultiList*f1.relief			sunken $tixOption(prioLevel)
option add *TixMultiList*f1.highlightThickness		2 $tixOption(prioLevel)
option add *TixMDIMenuBar*menubar.relief		raised $tixOption(prioLevel)
option add *TixMDIMenuBar*menubar.borderWidth		2 $tixOption(prioLevel)
option add *TixMDIMenuBar*Menubutton.padY 		2 $tixOption(prioLevel)
option add *TixNoteBook.Background			$tixOption(bg) $tixOption(prioLevel)
option add *TixNoteBook.nbframe.Background		$tixOption(bg) $tixOption(prioLevel)
option add *TixNoteBook.nbframe.backPageColor		$tixOption(bg) $tixOption(prioLevel)
option add *TixNoteBook.nbframe.inactiveBackground	$tixOption(inactive_bg) $tixOption(prioLevel)
option add *TixPanedWindow.handleActiveBg 		$tixOption(active_bg) $tixOption(prioLevel)
option add *TixPanedWindow.seperatorBg    		$tixOption(bg) $tixOption(prioLevel)
option add *TixPanedWindow.handleBg       		$tixOption(dark1_bg) $tixOption(prioLevel)
option add *TixPopupMenu*menubutton.background 	$tixOption(dark1_bg) $tixOption(prioLevel)
option add *TixScrolledHList*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledHList*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledHList*hlist.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledHList*hlist.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledTList*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledTList*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledTList*tlist.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledTList*tlist.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledListBox*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledListBox*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledListBox*listbox.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledListBox*listbox.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledText*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledText*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledWindow*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledWindow*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledWindow.frame.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixTree*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixTree*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixTree*hlist.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixTree*hlist.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixTree*hlist.borderWidth		1 $tixOption(prioLevel)
option add *TixComboBox*Entry.highlightBackground		$tixOption(bg) $tixOption(prioLevel)
option add *TixComboBox*Entry.background			$tixOption(input1_bg) $tixOption(prioLevel)
option add *TixComboBox*Entry.foreground			black $tixOption(prioLevel)
option add *TixComboBox*Entry.insertBackground		black $tixOption(prioLevel)
}
proc tixPref:SetScheme-Mono:TixGray {} {


    global tixOption

    set tixOption(bg)           lightgray
    set tixOption(fg)           black

    set tixOption(dark1_bg)     gray70
    set tixOption(dark1_fg)     black
    set tixOption(dark2_bg)     gray60
    set tixOption(dark2_fg)     white
    set tixOption(inactive_bg)  lightgray
    set tixOption(inactive_fg)  black

    set tixOption(light1_bg)    gray90
    set tixOption(light1_fg)    white
    set tixOption(light2_bg)    gray95
    set tixOption(light2_fg)    white

    set tixOption(active_bg)    gray90
    set tixOption(active_fg)    $tixOption(fg)
    set tixOption(disabled_fg)  gray55

    set tixOption(input1_bg)    $tixOption(light1_bg)
    set tixOption(input2_bg)    $tixOption(light1_bg)
    set tixOption(output1_bg)   $tixOption(light1_bg)
    set tixOption(output2_bg)   $tixOption(light1_bg)

    set tixOption(select_fg)    white
    set tixOption(select_bg)    black

    set tixOption(selector)	black

option add *background 		$tixOption(bg) 10
option add *Background		$tixOption(bg) $tixOption(prioLevel)
option add *background		$tixOption(bg) $tixOption(prioLevel)
option add *Foreground		$tixOption(fg) $tixOption(prioLevel)
option add *foreground		$tixOption(fg) $tixOption(prioLevel)
option add *activeBackground	$tixOption(active_bg) $tixOption(prioLevel)
option add *activeForeground	$tixOption(active_fg) $tixOption(prioLevel)
option add *HighlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *selectBackground	$tixOption(select_bg) $tixOption(prioLevel)
option add *selectForeground	$tixOption(select_fg) $tixOption(prioLevel)
option add *selectBorderWidth	0 $tixOption(prioLevel)
option add *Menu.selectColor		$tixOption(selector) $tixOption(prioLevel)
option add *TixMenu.selectColor		$tixOption(selector) $tixOption(prioLevel)
option add *Menubutton.padY			5 $tixOption(prioLevel)
option add *Button.borderWidth		2 $tixOption(prioLevel)
option add *Button.anchor		c $tixOption(prioLevel)
option add *Checkbutton.selectColor		$tixOption(selector) $tixOption(prioLevel)
option add *Radiobutton.selectColor		$tixOption(selector) $tixOption(prioLevel)
option add *Entry.relief		sunken $tixOption(prioLevel)
option add *Entry.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *Entry.background		$tixOption(input1_bg) $tixOption(prioLevel)
option add *Entry.foreground		black $tixOption(prioLevel)
option add *Entry.insertBackground	black $tixOption(prioLevel)
option add *Label.anchor		w $tixOption(prioLevel)
option add *Label.borderWidth		0 $tixOption(prioLevel)
option add *Listbox.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *Listbox.relief		sunken $tixOption(prioLevel)
option add *Scale.foreground		$tixOption(fg) $tixOption(prioLevel)
option add *Scale.activeForeground	$tixOption(bg) $tixOption(prioLevel)
option add *Scale.background		$tixOption(bg) $tixOption(prioLevel)
option add *Scale.sliderForeground	$tixOption(bg) $tixOption(prioLevel)
option add *Scale.sliderBackground	$tixOption(light1_bg) $tixOption(prioLevel)
option add *Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *Scrollbar.relief		sunken $tixOption(prioLevel)
option add *Scrollbar.borderWidth		1 $tixOption(prioLevel)
option add *Scrollbar.width			15 $tixOption(prioLevel)
option add *Text.background		$tixOption(input1_bg) $tixOption(prioLevel)
option add *Text.relief		sunken $tixOption(prioLevel)
option add *TixBalloon*background 			#ffff60 $tixOption(prioLevel)
option add *TixBalloon*foreground 			black $tixOption(prioLevel)
option add *TixBalloon.background 			black $tixOption(prioLevel)
option add *TixBalloon*Label.anchor 			w $tixOption(prioLevel)
option add *TixControl*entry.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixControl*entry.background		$tixOption(input1_bg) $tixOption(prioLevel)
option add *TixControl*entry.foreground		black $tixOption(prioLevel)
option add *TixControl*entry.insertBackground	black $tixOption(prioLevel)
option add *TixDirTree*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixDirTree*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixDirTree*hlist.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixDirTree*hlist.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixDirTree*hlist.activeBackground	$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixDirTree*hlist.disabledBackground	$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixDirTree*f1.borderWidth		1 $tixOption(prioLevel)
option add *TixDirTree*f1.relief			sunken $tixOption(prioLevel)
option add *TixDirList*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixDirList*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixDirList*hlist.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixDirList*hlist.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixDirList*hlist.activeBackground	$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixDirList*hlist.disabledBackground	$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixDirList*f1.borderWidth		1 $tixOption(prioLevel)
option add *TixDirList*f1.relief			sunken $tixOption(prioLevel)
option add *TixScrolledHList*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledHList*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledHList*hlist.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledHList*hlist.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledHList*hlist.activeBackground	$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledHList*hlist.disabledBackground	$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledHList*f1.borderWidth		1 $tixOption(prioLevel)
option add *TixScrolledHList*f1.relief			sunken $tixOption(prioLevel)
option add *TixTree*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixTree*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixTree*hlist.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixTree*hlist.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixTree*hlist.activeBackground	$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixTree*hlist.disabledBackground	$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixTree*f1.borderWidth		1 $tixOption(prioLevel)
option add *TixTree*f1.relief			sunken $tixOption(prioLevel)
option add *TixFileEntry*Entry.background 		$tixOption(input1_bg) $tixOption(prioLevel)
option add *TixHList.background			$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixHList.activeBackground		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixHList.disabledBackground		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixLabelEntry*entry.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixLabelEntry*entry.background		$tixOption(input1_bg) $tixOption(prioLevel)
option add *TixLabelEntry*entry.foreground		black $tixOption(prioLevel)
option add *TixLabelEntry*entry.insertBackground	black $tixOption(prioLevel)
option add *TixMultiList*Listbox.borderWidth		0 $tixOption(prioLevel)
option add *TixMultiList*Listbox.highlightThickness	0 $tixOption(prioLevel)
option add *TixMultiList*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixMultiList*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixMultiList*Scrollbar.relief		sunken $tixOption(prioLevel)
option add *TixMultiList*Scrollbar.width		15 $tixOption(prioLevel)
option add *TixMultiList*f1.borderWidth		2 $tixOption(prioLevel)
option add *TixMultiList*f1.relief			sunken $tixOption(prioLevel)
option add *TixMultiList*f1.highlightThickness		2 $tixOption(prioLevel)
option add *TixMDIMenuBar*menubar.relief		raised $tixOption(prioLevel)
option add *TixMDIMenuBar*menubar.borderWidth		2 $tixOption(prioLevel)
option add *TixMDIMenuBar*Menubutton.padY 		2 $tixOption(prioLevel)
option add *TixNoteBook.Background			$tixOption(bg) $tixOption(prioLevel)
option add *TixNoteBook.nbframe.Background		$tixOption(bg) $tixOption(prioLevel)
option add *TixNoteBook.nbframe.backPageColor		$tixOption(bg) $tixOption(prioLevel)
option add *TixNoteBook.nbframe.inactiveBackground	$tixOption(inactive_bg) $tixOption(prioLevel)
option add *TixPanedWindow.handleActiveBg 		$tixOption(active_bg) $tixOption(prioLevel)
option add *TixPanedWindow.seperatorBg    		$tixOption(bg) $tixOption(prioLevel)
option add *TixPanedWindow.handleBg       		$tixOption(dark1_bg) $tixOption(prioLevel)
option add *TixPopupMenu*menubutton.background 	$tixOption(dark1_bg) $tixOption(prioLevel)
option add *TixScrolledHList*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledHList*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledHList*hlist.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledHList*hlist.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledTList*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledTList*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledTList*tlist.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledTList*tlist.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledListBox*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledListBox*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledListBox*listbox.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledListBox*listbox.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledText*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledText*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledWindow*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledWindow*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledWindow.frame.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixTree*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixTree*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixTree*hlist.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixTree*hlist.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixTree*hlist.borderWidth		1 $tixOption(prioLevel)
option add *TixComboBox*Entry.highlightBackground		$tixOption(bg) $tixOption(prioLevel)
option add *TixComboBox*Entry.background			$tixOption(input1_bg) $tixOption(prioLevel)
option add *TixComboBox*Entry.foreground			black $tixOption(prioLevel)
option add *TixComboBox*Entry.insertBackground		black $tixOption(prioLevel)
}
PKqm�[�W�Tix8.4.3/pref/SGIGray.csnu�[���#
# $Id: SGIGray.cs,v 1.1.1.1 2000/05/17 11:08:47 idiscovery Exp $
#
proc tixSetScheme-Color {} {

    global tixOption

    set tixOption(bg)           lightgray
    set tixOption(fg)           black

    set tixOption(dark1_bg)     gray
    set tixOption(dark1_fg)     black
    set tixOption(dark2_bg)     gray50
    set tixOption(dark2_fg)     black
    set tixOption(inactive_bg)  gray50
    set tixOption(inactive_fg)  black

    set tixOption(light1_bg)    gray90
    set tixOption(light1_fg)    white
    set tixOption(light2_bg)    gray95
    set tixOption(light2_fg)    white

    set tixOption(active_bg)    $tixOption(bg)
    set tixOption(active_fg)    $tixOption(fg)
    set tixOption(disabled_fg)  gray35

    set tixOption(input1_bg)    rosybrown
    set tixOption(input2_bg)    rosybrown
    set tixOption(output1_bg)   $tixOption(dark1_bg)
    set tixOption(output2_bg)   $tixOption(bg)

    set tixOption(select_fg)    black
    set tixOption(select_bg)    lightblue

    set tixOption(selector)	yellow
}


PKqm�[O�
�
Tix8.4.3/pref/WmDefault.pynu�[���# -*- mode: python; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*-
#
#	$Id: WmDefault.py,v 1.2 2001/12/09 05:03:09 idiscovery Exp $
#


"""One of the bad things about Tk/Tkinter is that it does not pick up
the current color and font scheme from the prevailing CDE/KDE/GNOME/Windows 
window manager scheme.

One of the good things about Tk/Tkinter is that it is not tied to one
particular widget set so it could pick up the current color and font scheme 
from the prevailing CDE/KDE/GNOME/Windows window manager scheme.

The WmDefault package is for making Tk/Tkinter applications use the 
prevailing CDE/KDE/GNOME/Windows scheme. It tries to find the files
and/or settings that the current window manager is using, and then
sets the Tk options database accordingly.

Download the latest version of wm_default from http://tix.sourceforge.net
either as a part of the standard Tix distribution, or as a part of the
Tix Applications: http://tix.sourceforge.net/Tide. wm_default does not
require Tix, but is Tix enabled.
"""

import os, sys, traceback, string
import tkMessageBox

def setup(root, wm=''):
    """1) find the files and/or settings (::wm_default::setup).
    Takes one optional argument: wm, the name of the window manager
    as a string, if known. One of: windows gnome kde1 kde2 cde kde.
    """
    try:
        try:
            # Make sure Tcl/Tk knows wm_default is installed
            root.tk.eval("package require wm_default")
        except:
            # Try again with this directory on the Tcl/Tk path
            dir = os.path.dirname (self.__file__)
            root.tk.eval('global auto_path; lappend auto_path {%s}' % dir)
            root.tk.eval("package require wm_default")
    except:
        t, v, tb = sys.exc_info()
        text = "Error loading WmDefault\n"
        for line in traceback.format_exception(t,v,tb): text = text + line + '\n'
        try:
            tkMessageBox.showerror ('WmDefault Error', text)
        except:
            sys.stderr.write( text )

    return root.tk.call('::wm_default::setup', wm)

def addoptions(root, cnf=None, **kw):
    """2) Setting the Tk options database (::wm_default::addoptions).
    You can override the settings in 1) by adding your values to the
    call to addoptions().
    """
    if cnf is None:
        return root.tk.splitlist(root.tk.call('::wm_default::addoptions'))
    return root.tk.splitlist(
        apply(root.tk.call,
              ('::wm_default::addoptions',) + root._options(cnf,kw)))

def getoptions(root):
    """Returns the current settings, as a dictionary.
    """
    words = root.tk.splitlist(root.tk.call('::wm_default::getoptions'))
    dict = {}
    for i in range(0, len(words), 2):
        key = words[i]
        value = words[i+1]
        dict[key] = value
    return dict

def parray(root):
    """Returns a string of the current settings, one value-pair per line.
    """
    return root.tk.call('::wm_default::parray')

if __name__ == "__main__":
    dir = ""
    if len(sys.argv) > 0:
        # Assume the name of the file containing the tixinspect Tcl source
        # is the same as argument on the command line with .tcl
	dir = os.path.dirname(sys.argv[0])
    if not dir or not os.path.isdir(dir) or not os.path.isabs(dir):
        # Or, assume it's in the same directory as this one:
        dir = os.getcwd()
    import Tkinter
    root = Tkinter.Tk()
    setup(root)
    addoptions(root, {'foreground': 'red'})
    retval = getoptions(root)
    print retval

PKqm�[�g�Tix8.4.3/pref/Bisque.csnu�[���#
# $Id: Bisque.cs,v 1.1.1.1 2000/05/17 11:08:47 idiscovery Exp $
#
proc tixSetScheme-Color {} {
    global tixOption

    set tixOption(bg)           bisque1
    set tixOption(fg)           black

    set tixOption(dark1_bg)     bisque2
    set tixOption(dark1_fg)     black
    set tixOption(dark2_bg)     bisque3
    set tixOption(dark2_fg)     black
    set tixOption(inactive_bg)  bisque3
    set tixOption(inactive_fg)  black

    set tixOption(light1_bg)    bisque1
    set tixOption(light1_fg)    white
    set tixOption(light2_bg)    bisque1
    set tixOption(light2_fg)    white

    set tixOption(active_bg)    $tixOption(dark1_bg)
    set tixOption(active_fg)    $tixOption(fg)
    set tixOption(disabled_fg)  gray55

    set tixOption(input1_bg)    bisque2
    set tixOption(input2_bg)    bisque2
    set tixOption(output1_bg)   $tixOption(dark1_bg)
    set tixOption(output2_bg)   $tixOption(bg)

    set tixOption(select_fg)    black
    set tixOption(select_bg)    bisque2

    set tixOption(selector)	#b03060
}
PKqm�[!����Tix8.4.3/pref/TK.fsnu�[���#
# $Id: TK.fs,v 1.2 2001/12/09 05:03:09 idiscovery Exp $
#

proc tixSetFontset {} {

    global tixOption

    set tixOption(font)         -Adobe-Helvetica-Medium-R-Normal--*-120-*
    set tixOption(bold_font)    -Adobe-Helvetica-Bold-R-Normal--*-120-*
    set tixOption(menu_font)    -Adobe-Helvetica-Bold-R-Normal--*-120-*
    set tixOption(italic_font)  -Adobe-Helvetica-Bold-O-Normal--*-120-*
    set tixOption(fixed_font) -*-courier-medium-r-*-*-14-*-*-*-*-*-*-*
    set tixOption(border1)      1
}

PKqm�[���܆�Tix8.4.3/pref/TkWin.fsnu�[���#
# $Id: TkWin.fs,v 1.2 2001/12/09 05:03:09 idiscovery Exp $
#

proc tixSetFontset {} {

    global tixOption

    set tixOption(font)         "windows-message"
    set tixOption(bold_font)    "windows-status"
    set tixOption(menu_font)    "windows-menu"
    set tixOption(italic_font)  "windows-message"
    set tixOption(fixed_font)   "systemfixed"
    set tixOption(border1)      1
}

PKqm�[r�d�8�8Tix8.4.3/pref/WmDefault.cscnu�[���# -*-mode: tcl; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*-
#
#	$Id: WmDefault.csc,v 1.2 2001/12/09 05:03:09 idiscovery Exp $
#
#

proc tixPref:SetScheme-Color:WmDefault {args} {
    global tixOption

    package require wm_default
    if {![info exists ::wm_default::wm]} {
	wm_default::setup
	wm_default::addoptions
    }

    set tixOption(bg)           $::wm_default::background
    set tixOption(fg)           $::wm_default::foreground

    # was "#808080"
    set tixOption(dark1_bg)     $::wm_default::disabledbackground

    set tixOption(inactive_bg)  $::wm_default::disabledbackground
    set tixOption(inactive_fg)  black; # unused

    # light1 was used for listbox widgets and trough colors
    set tixOption(light1_bg)    $::wm_default::scrollbars
    set tixOption(light1_fg)    white; #unused

    # text is now used for listbox widgets
    set tixOption(list_bg)   	$::wm_default::textbackground

    set tixOption(active_bg)    $::wm_default::activebackground
    set tixOption(active_fg)    $::wm_default::activeforeground

    set tixOption(disabled_fg)  $::wm_default::disabledforeground
    # new
    set tixOption(disabled_bg)  $::wm_default::disabledtextbackground

    set tixOption(textbackground)    $::wm_default::textbackground
    set tixOption(input1_fg)    $::wm_default::textforeground

    set tixOption(select_fg)    $::wm_default::selectforeground
    set tixOption(select_bg)    $::wm_default::selectbackground
	
    set tixOption(selector)	$::wm_default::selectcolor

    set pri $tixOption(prioLevel)

    # Try to give the subwidget (hlist) the highlightThickness 
    foreach pref {*TixDirTree *TixDirList *TixTree \
	    *TixScrolledListBox  \
	    *TixScrolledTList  *TixScrolledText} {
	option add $pref.highlightThickness 0 $pri
    }


    # necessary:
    option add *TixBalloon*background 			white $pri
    option add *TixBalloon*foreground 			black $pri
    option add *TixBalloon.background 			black $pri

    # necessary: but should be restricted
    # was -   option add *Label.anchor 				w $pri
    option add *TixBalloon*Label.anchor 		w $pri
    option add *TixComboBox*Label.anchor 		w $pri
    option add *TixFileEntry*Label.anchor 		w $pri
    option add *TixLabelEntry*Label.anchor 		w $pri
    option add *TixOptionMenu*Label.anchor 		w $pri

    option add *TixComboBox*background $tixOption(background) $pri
    option add *TixFileEntry*Entry.borderWidth		0 $pri
    option add *TixFileEntry.frame.background		$tixOption(textbackground) $pri

    option add *TixFileEntry*Entry.highlightBackground $::wm_default::highlightbackground $pri

    option add *TixOptionMenu*menubutton.relief raised $pri
    option add *TixOptionMenu*menubutton.borderWidth $::wm_default::borderwidth $pri
    option add *TixResizeHandle*background $tixOption(disabledbackground) $pri

    option add *handleActiveBg 		$::wm_default::selectbackground $pri


    # These may already have been covered by wm_default

    option add *TixControl*entry.insertBackground	$tixOption(textforeground) $pri

    option add *TixDirTree*hlist.activeBackground	$tixOption(light1_bg) $pri
    option add *TixDirTree*hlist.disabledBackground	$tixOption(disabled_bg) $pri
    option add *TixDirTree*f1.borderWidth		$::wm_default::borderwidth $pri
    option add *TixDirTree*f1.relief			sunken $pri

    option add *TixDirList*hlist.activeBackground	$tixOption(light1_bg) $pri
    option add *TixDirList*hlist.disabledBackground	$tixOption(disabled_bg) $pri
    option add *TixDirList*f1.borderWidth		$::wm_default::borderwidth $pri
    option add *TixDirList*f1.relief			sunken $pri

    option add *TixScrolledHList*hlist.activeBackground	$tixOption(light1_bg) $pri
    option add *TixScrolledHList*hlist.disabledBackground	$tixOption(disabled_bg) $pri
    option add *TixScrolledHList*f1.borderWidth		$::wm_default::borderwidth $pri
    option add *TixScrolledHList*f1.relief			sunken $pri

    option add *TixTree*hlist.background		$tixOption(textbackground) $pri
    option add *TixTree*hlist.activeBackground	$tixOption(light1_bg) $pri
    option add *TixTree*hlist.disabledBackground	$tixOption(disabled_bg) $pri
    option add *TixTree*f1.borderWidth		$::wm_default::borderwidth $pri
    option add *TixTree*f1.relief			sunken $pri

    option add *TixFileEntry.background 		$tixOption(background) $pri

    option add *TixHList.activeBackground		$tixOption(light1_bg) $pri
    option add *TixHList.disabledBackground		$tixOption(disabled_bg) $pri

    option add *TixLabelEntry*entry.background		$tixOption(textbackground) $pri
    option add *TixLabelEntry*entry.foreground		$tixOption(textforeground) $pri
    option add *TixLabelEntry*entry.insertBackground	$tixOption(textforeground) $pri

    option add *TixMultiView*Listbox.borderWidth		0 $pri
    option add *TixMultiView*Listbox.highlightThickness	0 $pri
    option add *TixMultiView*Scrollbar.relief		sunken $pri
    option add *TixMultiView*Scrollbar.width		15 $pri
    option add *TixMultiView*f1.borderWidth		2 $pri
    option add *TixMultiView*f1.relief			sunken $pri
    option add *TixMultiView*f1.highlightThickness		2 $pri

    option add *TixNoteBook.Background			$tixOption(background) $pri
    option add *TixNoteBook.nbframe.Background		$tixOption(background) $pri
    option add *TixNoteBook.nbframe.backPageColor		$tixOption(background) $pri
    option add *TixNoteBook.nbframe.inactiveBackground	$tixOption(disabledbackground) $pri
    option add *TixPanedWindow.handleActiveBg 		$tixOption(active_bg) $pri
#    option add *TixPanedWindow.seperatorBg    		$tixOption(disabledbackground) $pri
#    option add *TixPanedWindow.handleBg       		$tixOption(disabledbackground) $pri

    option add *TixPopupMenu*menubutton.background 	$tixOption(dark1_bg) $pri

    option add *TixScrolledTList*tlist.background		$tixOption(textbackground) $pri

    option add *TixScrolledListBox*listbox.background		$tixOption(textbackground) $pri

    option add *TixScrolledWindow.frame.background		$tixOption(list_bg) $pri

    option add *TixTree*hlist.highlightBackground		$tixOption(background) $pri
    option add *TixTree*hlist.background			$tixOption(textbackground) $pri
    option add *TixTree*hlist.borderWidth			$::wm_default::borderwidth $pri

    option add *TixComboBox*Entry.highlightBackground		$tixOption(background) $pri
    option add *TixComboBox*Entry.background			$tixOption(textbackground) $pri
    option add *TixComboBox*Entry.foreground			$tixOption(textforeground) $pri
    option add *TixComboBox*Entry.insertBackground		$tixOption(textforeground) $pri
}

proc tixPref:SetScheme-Mono:Gray {} {
    global tixOption

    package require wm_default
    if {![info exists ::wm_default::wm]} {
	wm_default::setup
	wm_default::addoptions
    }

    set tixOption(background)           lightgray
    set tixOption(foreground)           black

    set tixOption(dark1_bg)     gray70

    set tixOption(inactive_bg)  lightgray
    set tixOption(inactive_fg)  black

    set tixOption(light1_bg)    gray90
    set tixOption(light1_fg)    white

    set tixOption(active_bg)    gray90
    set tixOption(active_fg)    $tixOption(foreground)
    set tixOption(disabled_fg)  gray55

    set tixOption(textbackground)    $tixOption(light1_bg)

    set tixOption(select_fg)    white
    set tixOption(select_bg)    black

    set tixOption(selector)	black

    set pri $tixOption(prioLevel)

    # Override what you want with optional arguments to wm_default::adoptions

    # necessary:
    option add *TixBalloon*background 			white $pri
    option add *TixBalloon*foreground 			black $pri
    option add *TixBalloon.background 			black $pri

    # necessary: but should be restricted
    # was -   option add *Label.anchor 				w $pri
    option add *TixBalloon*Label.anchor 		w $pri
    option add *TixComboBox*Label.anchor 		w $pri
    option add *TixFileEntry*Label.anchor 		w $pri
    option add *TixLabelEntry*Label.anchor 		w $pri

#    option add *TixDirTree*hlist.highlightBackground	$tixOption(background) $pri
#    option add *TixDirTree*hlist.background		$tixOption(light1_bg) $pri
#    option add *TixDirTree*hlist.activeBackground	$tixOption(light1_bg) $pri
#    option add *TixDirTree*hlist.disabledBackground	$tixOption(disabled_bg) $pri
#    option add *TixDirTree*f1.borderWidth		$::wm_default::borderwidth $pri
    option add *TixDirTree*f1.relief			sunken $pri
#    option add *TixDirList*hlist.highlightBackground	$tixOption(background) $pri
#    option add *TixDirList*hlist.background		$tixOption(light1_bg) $pri
#    option add *TixDirList*hlist.activeBackground	$tixOption(light1_bg) $pri
#    option add *TixDirList*hlist.disabledBackground	$tixOption(disabled_bg) $pri
#    option add *TixDirList*f1.borderWidth		$::wm_default::borderwidth $pri
    option add *TixDirList*f1.relief			sunken $pri
#    option add *TixScrolledHList*hlist.highlightBackground	$tixOption(background) $pri
#    option add *TixScrolledHList*hlist.background		$tixOption(light1_bg) $pri
#    option add *TixScrolledHList*hlist.activeBackground	$tixOption(light1_bg) $pri
#    option add *TixScrolledHList*hlist.disabledBackground	$tixOption(disabled_bg) $pri
#    option add *TixScrolledHList*f1.borderWidth		$::wm_default::borderwidth $pri
    option add *TixScrolledHList*f1.relief			sunken $pri
#    option add *TixTree*hlist.highlightBackground	$tixOption(background) $pri
#    option add *TixTree*hlist.background		$tixOption(light1_bg) $pri
#    option add *TixTree*hlist.activeBackground	$tixOption(light1_bg) $pri
#    option add *TixTree*hlist.disabledBackground	$tixOption(disabled_bg) $pri
#    option add *TixTree*f1.borderWidth		$::wm_default::borderwidth $pri
    option add *TixTree*f1.relief			sunken $pri
#    option add *TixHList.background			$tixOption(light1_bg) $pri
#    option add *TixHList.activeBackground		$tixOption(light1_bg) $pri
#    option add *TixHList.disabledBackground		$tixOption(light1_bg) $pri
#    option add *TixMultiView*Listbox.borderWidth		0 $pri
#    option add *TixMultiView*Listbox.highlightThickness	0 $pri
    option add *TixMultiView*Scrollbar.relief		sunken $pri
#    option add *TixMultiView*f1.borderWidth		2 $pri
    option add *TixMultiView*f1.relief			sunken $pri
#    option add *TixMultiView*f1.highlightThickness		2 $pri
#    option add *TixMDIMenuBar*menubar.relief		raised $pri
#    option add *TixMDIMenuBar*menubar.borderWidth		2 $pri
#    option add *TixMDIMenuBar*Menubutton.padY 		2 $pri
#    option add *TixNoteBook.Background			$tixOption(background) $pri
#    option add *TixNoteBook.nbframe.Background		$tixOption(background) $pri
#    option add *TixNoteBook.nbframe.backPageColor		$tixOption(background) $pri
#    option add *TixNoteBook.nbframe.inactiveBackground	$tixOption(inactive_bg) $pri
#    option add *TixPanedWindow.handleActiveBg 		$tixOption(active_bg) $pri
#    option add *TixPanedWindow.seperatorBg    		$tixOption(disabledbackground) $pri
#    option add *TixPanedWindow.handleBg       		$tixOption(disabledbackground) $pri
#    option add *TixPopupMenu*menubutton.background 	$tixOption(dark1_bg) $pri
#    option add *TixScrolledHList*hlist.highlightBackground	$tixOption(background) $pri
#    option add *TixScrolledHList*hlist.background		$tixOption(light1_bg) $pri
#    option add *TixScrolledTList*tlist.highlightBackground	$tixOption(background) $pri
#    option add *TixScrolledTList*tlist.background		$tixOption(light1_bg) $pri
#    option add *TixScrolledListBox*listbox.highlightBackground	$tixOption(background) $pri
#    option add *TixScrolledWindow.frame.background		$tixOption(light1_bg) $pri
#    option add *TixTree*hlist.highlightBackground	$tixOption(background) $pri
#    option add *TixTree*hlist.background		$tixOption(light1_bg) $pri
#    option add *TixTree*hlist.borderWidth		$::wm_default::borderwidth $pri

    # These were missing

#    option add *TixMenu*Menu.selectColor $NIMLook(foreground) $pri

#    option add *TixMDIMenuBar*Menubutton.padY 2 $pri
#    option add *TixMDIMenuBar*menubar.borderWidth 2 $pri
#    option add *TixMDIMenuBar*menubar.relief raised $pri

#    option add *TixMultiView*Listbox.borderWidth 0 $pri
#    option add *TixMultiView*Listbox.highlightThickness 0 $pri
#    option add *TixMultiView*Scrollbar.relief sunken $pri
#    option add *TixMultiView*f1.borderWidth 2 $pri
#    option add *TixMultiView*f1.highlightThickness 2 $pri
    option add *TixMultiView*f1.relief sunken $pri

}

# Leave the standard widgets alone
if {0} {
    option add *Background		$tixOption(background) $pri
    option add *background		$tixOption(background) $pri
    option add *Foreground		$tixOption(foreground) $pri
    option add *foreground		$tixOption(foreground) $pri
    option add *activeBackground	$tixOption(active_bg) $pri
    option add *activeForeground	$tixOption(active_fg) $pri
    option add *HighlightBackground	$tixOption(background) $pri

    option add *selectBackground	$tixOption(select_bg) $pri
    option add *selectForeground	$tixOption(select_fg) $pri
    option add *selectBorderWidth		0 $pri

    option add *Menu.selectColor	$tixOption(foreground) $pri
    option add *TixMenu.selectColor	$tixOption(foreground) $pri
    option add *Menubutton.padY		5 $pri

    option add *Button.borderWidth		2 $pri
    option add *Button.anchor			c $pri

    option add *Checkbutton.selectColor		$tixOption(selector) $pri
    option add *Radiobutton.selectColor		$tixOption(selector) $pri
    option add *Entry.relief			sunken $pri
    option add *Entry.highlightBackground	$tixOption(background) $pri
    option add *Entry.background		$tixOption(textbackground) $pri
    option add *Entry.foreground		$tixOption(textforeground) $pri
    option add *Entry.insertBackground		$tixOption(textforeground) $pri
    option add *Label.anchor			w $pri
    option add *Label.borderWidth		0 $pri

    option add *Listbox.background		$tixOption(textbackground) $pri
    option add *Listbox.relief			sunken $pri

    option add *Scale.foreground		$tixOption(foreground) $pri
    option add *Scale.activeForeground		$tixOption(background) $pri
    option add *Scale.background		$tixOption(background) $pri
    option add *Scale.sliderForeground		$tixOption(background) $pri
    option add *Scale.sliderBackground		$tixOption(light1_bg) $pri

    option add *Scrollbar.relief		sunken $pri
    option add *Scrollbar.borderWidth		$::wm_default::borderwidth $pri
    option add *Scrollbar.width			15 $pri

    option add *Text.background			$tixOption(textbackground) $pri
    option add *Text.relief			sunken $pri

}
PKqm�[���aWWTix8.4.3/pref/TkWin.cscnu�[���#
# $Id: TkWin.csc,v 1.2 2002/01/24 09:16:22 idiscovery Exp $
#
proc tixPref:SetScheme-Color:TkWin {} {
    global tixOption

    set tixOption(bg)           SystemButtonFace
    set tixOption(fg)           SystemButtonText

    set tixOption(dark1_bg)     SystemScrollbar
    set tixOption(dark1_fg)     SystemButtonText
#     set tixOption(dark2_bg)     SystemDisabledText
#     set tixOption(dark2_fg)     black
    set tixOption(inactive_bg)  SystemButtonFace
    set tixOption(inactive_fg)  SystemButtonText

    set tixOption(light1_bg)    SystemButtonFace
#     set tixOption(light1_fg)    white
#     set tixOption(light2_bg)    #fcfcfc
#     set tixOption(light2_fg)    white

    set tixOption(active_bg)    $tixOption(dark1_bg)
    set tixOption(active_fg)    $tixOption(fg)
    set tixOption(disabled_fg)  SystemDisabledText

    set tixOption(input1_bg)    SystemWindow
#     set tixOption(input2_bg)    
#     set tixOption(output1_bg)   $tixOption(dark1_bg)
#     set tixOption(output2_bg)   $tixOption(bg)

    set tixOption(select_fg)    SystemHighlightText
    set tixOption(select_bg)    SystemHighlight

    set tixOption(selector)	SystemHighlight

option add *TixBalloon*background 			"#ffff60" $tixOption(prioLevel)
option add *TixBalloon*foreground 			black $tixOption(prioLevel)
option add *TixBalloon.background 			black $tixOption(prioLevel)
option add *TixBalloon*Label.anchor 			w $tixOption(prioLevel)
option add *TixControl*entry.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixControl*entry.background		$tixOption(input1_bg) $tixOption(prioLevel)
option add *TixControl*entry.foreground		black $tixOption(prioLevel)
option add *TixControl*entry.insertBackground	black $tixOption(prioLevel)
option add *TixDirTree*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixDirTree*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixDirTree*hlist.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixDirTree*hlist.background		$tixOption(input1_bg) $tixOption(prioLevel)
option add *TixDirTree*hlist.activeBackground	$tixOption(input1_bg) $tixOption(prioLevel)
option add *TixDirTree*hlist.disabledBackground	$tixOption(input1_bg) $tixOption(prioLevel)
option add *TixDirTree*f1.borderWidth		1 $tixOption(prioLevel)
option add *TixDirTree*f1.relief			sunken $tixOption(prioLevel)
option add *TixDirList*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixDirList*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixDirList*hlist.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixDirList*hlist.background		$tixOption(input1_bg) $tixOption(prioLevel)
option add *TixDirList*hlist.activeBackground	$tixOption(input1_bg) $tixOption(prioLevel)
option add *TixDirList*hlist.disabledBackground	$tixOption(input1_bg) $tixOption(prioLevel)
option add *TixDirList*f1.borderWidth		1 $tixOption(prioLevel)
option add *TixDirList*f1.relief			sunken $tixOption(prioLevel)
option add *TixScrolledHList*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledHList*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledHList*hlist.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledHList*hlist.background		$tixOption(input1_bg) $tixOption(prioLevel)
option add *TixScrolledHList*hlist.activeBackground	$tixOption(input1_bg) $tixOption(prioLevel)
option add *TixScrolledHList*hlist.disabledBackground	$tixOption(input1_bg) $tixOption(prioLevel)
option add *TixScrolledHList*f1.borderWidth		1 $tixOption(prioLevel)
option add *TixScrolledHList*f1.relief			sunken $tixOption(prioLevel)
option add *TixTree*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixTree*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixTree*hlist.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixTree*hlist.background		$tixOption(input1_bg) $tixOption(prioLevel)
option add *TixTree*hlist.activeBackground	$tixOption(input1_bg) $tixOption(prioLevel)
option add *TixTree*hlist.disabledBackground	$tixOption(input1_bg) $tixOption(prioLevel)
option add *TixTree*f1.borderWidth		1 $tixOption(prioLevel)
option add *TixTree*f1.relief			sunken $tixOption(prioLevel)
option add *TixFileEntry*Entry.background 		$tixOption(input1_bg) $tixOption(prioLevel)
option add *TixHList.background			$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixHList.activeBackground		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixHList.disabledBackground		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixLabelEntry*entry.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixLabelEntry*entry.background		$tixOption(input1_bg) $tixOption(prioLevel)
option add *TixLabelEntry*entry.foreground		black $tixOption(prioLevel)
option add *TixLabelEntry*entry.insertBackground	black $tixOption(prioLevel)
option add *TixMultiList*Listbox.borderWidth		0 $tixOption(prioLevel)
option add *TixMultiList*Listbox.highlightThickness	0 $tixOption(prioLevel)
option add *TixMultiList*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixMultiList*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixMultiList*Scrollbar.relief		sunken $tixOption(prioLevel)
option add *TixMultiList*Scrollbar.width		15 $tixOption(prioLevel)
option add *TixMultiList*f1.borderWidth		2 $tixOption(prioLevel)
option add *TixMultiList*f1.relief			sunken $tixOption(prioLevel)
option add *TixMultiList*f1.highlightThickness		2 $tixOption(prioLevel)
option add *TixMDIMenuBar*menubar.relief		raised $tixOption(prioLevel)
option add *TixMDIMenuBar*menubar.borderWidth		2 $tixOption(prioLevel)
option add *TixMDIMenuBar*Menubutton.padY 		2 $tixOption(prioLevel)
option add *TixNoteBook.Background			$tixOption(bg) $tixOption(prioLevel)
option add *TixNoteBook.nbframe.Background		$tixOption(bg) $tixOption(prioLevel)
option add *TixNoteBook.nbframe.backPageColor		$tixOption(bg) $tixOption(prioLevel)
option add *TixNoteBook.nbframe.inactiveBackground	$tixOption(inactive_bg) $tixOption(prioLevel)
option add *TixPanedWindow.handleActiveBg 		$tixOption(active_bg) $tixOption(prioLevel)
option add *TixPanedWindow.separatorBg    		$tixOption(bg) $tixOption(prioLevel)
option add *TixPanedWindow.handleBg       		$tixOption(bg) $tixOption(prioLevel)
option add *TixPopupMenu*menubutton.background 	$tixOption(dark1_bg) $tixOption(prioLevel)
option add *TixScrolledHList*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledHList*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledHList*hlist.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledHList*hlist.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledTList*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledTList*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledTList*tlist.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledTList*tlist.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledListBox.background			$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledListBox*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledListBox*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledListBox*listbox.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledListBox*listbox.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledText.background			$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledText*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledText*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledWindow.background			$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledWindow*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledWindow*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledWindow.frame.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixTree.background			$tixOption(bg) $tixOption(prioLevel)
option add *TixTree*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixTree*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixTree*hlist.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixTree*hlist.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixTree*hlist.borderWidth		1 $tixOption(prioLevel)
option add *TixComboBox*Entry.highlightBackground		$tixOption(input1_bg) $tixOption(prioLevel)
option add *TixComboBox*Entry.background			$tixOption(input1_bg) $tixOption(prioLevel)
option add *TixComboBox*Entry.foreground			SystemWindowText $tixOption(prioLevel)
option add *TixComboBox*Entry.insertBackground		SystemWindowText $tixOption(prioLevel)
option add *TixComboBox*Entry.selectBackground	$tixOption(select_bg) $tixOption(prioLevel)
option add *TixComboBox*Entry.selectForeground	$tixOption(select_fg) $tixOption(prioLevel)
option add *TixComboBox*TixScrolledListBox.selectBackground	$tixOption(select_bg) $tixOption(prioLevel)
option add *TixComboBox*TixScrolledListBox.selectForeground	$tixOption(select_fg) $tixOption(prioLevel)
}

# Leave the standard widgets alone
if {0} {
option add *Menubutton.padY			5 $tixOption(prioLevel)
option add *Button.borderWidth		2 $tixOption(prioLevel)
option add *Button.anchor		c $tixOption(prioLevel)
option add *Entry.relief		sunken $tixOption(prioLevel)
option add *Entry.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *Entry.background		$tixOption(input1_bg) $tixOption(prioLevel)
option add *Entry.foreground		black $tixOption(prioLevel)
option add *Entry.insertBackground	black $tixOption(prioLevel)
option add *Label.anchor		w $tixOption(prioLevel)
option add *Label.borderWidth		0 $tixOption(prioLevel)
option add *Listbox.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *Listbox.relief		sunken $tixOption(prioLevel)
option add *Scale.foreground		$tixOption(fg) $tixOption(prioLevel)
option add *Scale.activeForeground	$tixOption(bg) $tixOption(prioLevel)
option add *Scale.background		$tixOption(bg) $tixOption(prioLevel)
option add *Scale.sliderForeground	$tixOption(bg) $tixOption(prioLevel)
option add *Scale.sliderBackground	$tixOption(light1_bg) $tixOption(prioLevel)
option add *Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *Scrollbar.relief		sunken $tixOption(prioLevel)
option add *Scrollbar.borderWidth		1 $tixOption(prioLevel)
option add *Scrollbar.width			15 $tixOption(prioLevel)
option add *Text.background		$tixOption(input1_bg) $tixOption(prioLevel)
option add *Text.relief		sunken $tixOption(prioLevel)
}

proc tixPref:SetScheme-Mono:TkWin {} {

    global tixOption

    set tixOption(bg)           SystemButtonFace
    set tixOption(fg)           SystemButtonText

    set tixOption(dark1_bg)     SystemScrollbar
    set tixOption(dark1_fg)     SystemButtonText
#     set tixOption(dark2_bg)     SystemDisabledText
#     set tixOption(dark2_fg)     black
    set tixOption(inactive_bg)  SystemButtonFace
    set tixOption(inactive_fg)  SystemButtonText

    set tixOption(light1_bg)    SystemButtonFace
#     set tixOption(light1_fg)    white
#     set tixOption(light2_bg)    #fcfcfc
#     set tixOption(light2_fg)    white

    set tixOption(active_bg)    $tixOption(dark1_bg)
    set tixOption(active_fg)    $tixOption(fg)
    set tixOption(disabled_fg)  SystemDisabledText

    set tixOption(input1_bg)    white
#     set tixOption(input2_bg)    
#     set tixOption(output1_bg)   $tixOption(dark1_bg)
#     set tixOption(output2_bg)   $tixOption(bg)

    set tixOption(select_fg)    SystemHighlightText
    set tixOption(select_bg)    SystemHighlight

    set tixOption(selector)	SystemHighlight


option add *TixBalloon*background 			"#ffff60" $tixOption(prioLevel)
option add *TixBalloon*foreground 			black $tixOption(prioLevel)
option add *TixBalloon.background 			black $tixOption(prioLevel)
option add *TixBalloon*Label.anchor 			w $tixOption(prioLevel)
option add *TixControl*entry.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixControl*entry.background		$tixOption(input1_bg) $tixOption(prioLevel)
option add *TixControl*entry.foreground		black $tixOption(prioLevel)
option add *TixControl*entry.insertBackground	black $tixOption(prioLevel)
option add *TixDirTree*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixDirTree*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixDirTree*hlist.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixDirTree*hlist.background		$tixOption(input1_bg) $tixOption(prioLevel)
option add *TixDirTree*hlist.activeBackground	$tixOption(input1_bg) $tixOption(prioLevel)
option add *TixDirTree*hlist.disabledBackground	$tixOption(input1_bg) $tixOption(prioLevel)
option add *TixDirTree*f1.borderWidth		1 $tixOption(prioLevel)
option add *TixDirTree*f1.relief			sunken $tixOption(prioLevel)
option add *TixDirList*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixDirList*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixDirList*hlist.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixDirList*hlist.background		$tixOption(input1_bg) $tixOption(prioLevel)
option add *TixDirList*hlist.activeBackground	$tixOption(input1_bg) $tixOption(prioLevel)
option add *TixDirList*hlist.disabledBackground	$tixOption(input1_bg) $tixOption(prioLevel)
option add *TixDirList*f1.borderWidth		1 $tixOption(prioLevel)
option add *TixDirList*f1.relief			sunken $tixOption(prioLevel)
option add *TixScrolledHList*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledHList*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledHList*hlist.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledHList*hlist.background		$tixOption(input1_bg) $tixOption(prioLevel)
option add *TixScrolledHList*hlist.activeBackground	$tixOption(input1_bg) $tixOption(prioLevel)
option add *TixScrolledHList*hlist.disabledBackground	$tixOption(input1_bg) $tixOption(prioLevel)
option add *TixScrolledHList*f1.borderWidth		1 $tixOption(prioLevel)
option add *TixScrolledHList*f1.relief			sunken $tixOption(prioLevel)
option add *TixTree*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixTree*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixTree*hlist.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixTree*hlist.background		$tixOption(input1_bg) $tixOption(prioLevel)
option add *TixTree*hlist.activeBackground	$tixOption(input1_bg) $tixOption(prioLevel)
option add *TixTree*hlist.disabledBackground	$tixOption(input1_bg) $tixOption(prioLevel)
option add *TixTree*f1.borderWidth		1 $tixOption(prioLevel)
option add *TixTree*f1.relief			sunken $tixOption(prioLevel)
option add *TixFileEntry*Entry.background 		$tixOption(input1_bg) $tixOption(prioLevel)
option add *TixHList.background			$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixHList.activeBackground		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixHList.disabledBackground		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixLabelEntry*entry.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixLabelEntry*entry.background		$tixOption(input1_bg) $tixOption(prioLevel)
option add *TixLabelEntry*entry.foreground		black $tixOption(prioLevel)
option add *TixLabelEntry*entry.insertBackground	black $tixOption(prioLevel)
option add *TixMultiList*Listbox.borderWidth		0 $tixOption(prioLevel)
option add *TixMultiList*Listbox.highlightThickness	0 $tixOption(prioLevel)
option add *TixMultiList*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixMultiList*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixMultiList*Scrollbar.relief		sunken $tixOption(prioLevel)
option add *TixMultiList*Scrollbar.width		15 $tixOption(prioLevel)
option add *TixMultiList*f1.borderWidth		2 $tixOption(prioLevel)
option add *TixMultiList*f1.relief			sunken $tixOption(prioLevel)
option add *TixMultiList*f1.highlightThickness		2 $tixOption(prioLevel)
option add *TixMDIMenuBar*menubar.relief		raised $tixOption(prioLevel)
option add *TixMDIMenuBar*menubar.borderWidth		2 $tixOption(prioLevel)
option add *TixMDIMenuBar*Menubutton.padY 		2 $tixOption(prioLevel)
option add *TixNoteBook.Background			$tixOption(bg) $tixOption(prioLevel)
option add *TixNoteBook.nbframe.Background		$tixOption(bg) $tixOption(prioLevel)
option add *TixNoteBook.nbframe.backPageColor		$tixOption(bg) $tixOption(prioLevel)
option add *TixNoteBook.nbframe.inactiveBackground	$tixOption(inactive_bg) $tixOption(prioLevel)
option add *TixPanedWindow.handleActiveBg 		$tixOption(active_bg) $tixOption(prioLevel)
option add *TixPanedWindow.separatorBg    		$tixOption(bg) $tixOption(prioLevel)
option add *TixPanedWindow.handleBg       		$tixOption(bg) $tixOption(prioLevel)
option add *TixPopupMenu*menubutton.background 	$tixOption(dark1_bg) $tixOption(prioLevel)
option add *TixScrolledHList*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledHList*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledHList*hlist.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledHList*hlist.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledTList*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledTList*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledTList*tlist.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledTList*tlist.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledListBox.background			$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledListBox*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledListBox*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledListBox*listbox.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledListBox*listbox.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledText.background			$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledText*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledText*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledWindow.background			$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledWindow*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixScrolledWindow*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixScrolledWindow.frame.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixTree.background			$tixOption(bg) $tixOption(prioLevel)
option add *TixTree*Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *TixTree*Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixTree*hlist.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *TixTree*hlist.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *TixTree*hlist.borderWidth		1 $tixOption(prioLevel)
option add *TixComboBox*Entry.highlightBackground		$tixOption(input1_bg) $tixOption(prioLevel)
option add *TixComboBox*Entry.background			$tixOption(input1_bg) $tixOption(prioLevel)
option add *TixComboBox*Entry.foreground			SystemWindowText $tixOption(prioLevel)
option add *TixComboBox*Entry.insertBackground		SystemWindowText $tixOption(prioLevel)
option add *TixComboBox*Entry.selectBackground	$tixOption(select_bg) $tixOption(prioLevel)
option add *TixComboBox*Entry.selectForeground	$tixOption(select_fg) $tixOption(prioLevel)
option add *TixComboBox*TixScrolledListBox.selectBackground	$tixOption(select_bg) $tixOption(prioLevel)
option add *TixComboBox*TixScrolledListBox.selectForeground	$tixOption(select_fg) $tixOption(prioLevel)
}

# Leave the standard widgets alone
if {0} {
option add *Menubutton.padY			5 $tixOption(prioLevel)
option add *Button.borderWidth		2 $tixOption(prioLevel)
option add *Button.anchor		c $tixOption(prioLevel)
option add *Entry.relief		sunken $tixOption(prioLevel)
option add *Entry.highlightBackground	$tixOption(bg) $tixOption(prioLevel)
option add *Entry.background		$tixOption(input1_bg) $tixOption(prioLevel)
option add *Entry.foreground		black $tixOption(prioLevel)
option add *Entry.insertBackground	black $tixOption(prioLevel)
option add *Label.anchor		w $tixOption(prioLevel)
option add *Label.borderWidth		0 $tixOption(prioLevel)
option add *Listbox.background		$tixOption(light1_bg) $tixOption(prioLevel)
option add *Listbox.relief		sunken $tixOption(prioLevel)
option add *Scale.foreground		$tixOption(fg) $tixOption(prioLevel)
option add *Scale.activeForeground	$tixOption(bg) $tixOption(prioLevel)
option add *Scale.background		$tixOption(bg) $tixOption(prioLevel)
option add *Scale.sliderForeground	$tixOption(bg) $tixOption(prioLevel)
option add *Scale.sliderBackground	$tixOption(light1_bg) $tixOption(prioLevel)
option add *Scrollbar.background		$tixOption(bg) $tixOption(prioLevel)
option add *Scrollbar.troughColor		$tixOption(light1_bg) $tixOption(prioLevel)
option add *Scrollbar.relief		sunken $tixOption(prioLevel)
option add *Scrollbar.borderWidth		1 $tixOption(prioLevel)
option add *Scrollbar.width			15 $tixOption(prioLevel)
option add *Text.background		$tixOption(input1_bg) $tixOption(prioLevel)
option add *Text.relief		sunken $tixOption(prioLevel)
}

PKqm�[w��+��Tix8.4.3/pref/TK.cscnu�[���#
# $Id: TK.csc,v 1.1.1.1 2000/05/17 11:08:47 idiscovery Exp $
#
proc tixPref:SetScheme-Color:TK {} {

    global tixOption

    set tixOption(bg)           #d9d9d9
    set tixOption(fg)           black

    set tixOption(dark1_bg)     #c3c3c3
    set tixOption(dark1_fg)     black
    set tixOption(dark2_bg)     #a3a3a3
    set tixOption(dark2_fg)     black
    set tixOption(inactive_bg)  #a3a3a3
    set tixOption(inactive_fg)  black

    set tixOption(light1_bg)    #ececec
    set tixOption(light1_fg)    white
    set tixOption(light2_bg)    #fcfcfc
    set tixOption(light2_fg)    white

    set tixOption(active_bg)    $tixOption(dark1_bg)
    set tixOption(active_fg)    $tixOption(fg)
    set tixOption(disabled_fg)  gray55

    set tixOption(input1_bg)    #d9d9d9
    set tixOption(input2_bg)    #d9d9d9
    set tixOption(output1_bg)   $tixOption(dark1_bg)
    set tixOption(output2_bg)   $tixOption(bg)

    set tixOption(select_fg)    black
    set tixOption(select_bg)    #c3c3c3

    set tixOption(selector)	#b03060

}
proc tixPref:SetScheme-Mono:TK {} {


    global tixOption

    set tixOption(bg)           lightgray
    set tixOption(fg)           black

    set tixOption(dark1_bg)     gray70
    set tixOption(dark1_fg)     black
    set tixOption(dark2_bg)     gray60
    set tixOption(dark2_fg)     white
    set tixOption(inactive_bg)  lightgray
    set tixOption(inactive_fg)  black

    set tixOption(light1_bg)    gray90
    set tixOption(light1_fg)    white
    set tixOption(light2_bg)    gray95
    set tixOption(light2_fg)    white

    set tixOption(active_bg)    gray90
    set tixOption(active_fg)    $tixOption(fg)
    set tixOption(disabled_fg)  gray55

    set tixOption(input1_bg)    $tixOption(light1_bg)
    set tixOption(input2_bg)    $tixOption(light1_bg)
    set tixOption(output1_bg)   $tixOption(light1_bg)
    set tixOption(output2_bg)   $tixOption(light1_bg)

    set tixOption(select_fg)    white
    set tixOption(select_bg)    black

    set tixOption(selector)	black

}
PKqm�[��ŀ�Tix8.4.3/pref/12Point.fsnu�[���#
# $Id: 12Point.fs,v 1.2 2001/12/09 05:03:09 idiscovery Exp $
#

proc tixSetFontset {} {
    global tixOption tcl_platform

    switch -- $tcl_platform(platform) "windows" {
	# This should be Tahoma for Win2000/XP
	set font "MS Sans Serif"
	set fixedfont "Courier New"
    } unix {
	set font "helvetica"
	set fixedfont "courier"
    }

    set tixOption(font)         [list $font -12]
    set tixOption(bold_font)    [list $font -12 bold]
    set tixOption(menu_font)    [list $font -12]
    set tixOption(italic_font)  [list $font -12 bold italic]
    set tixOption(fixed_font)   [list $fixedfont -12]
    set tixOption(border1)      1
}
PKqm�[p�,Tix8.4.3/pref/14Point.fsnu�[���#
# $Id: 14Point.fs,v 1.2 2001/12/09 05:03:09 idiscovery Exp $
#
proc tixSetFontset {} {
    global tixOption tcl_platform

    switch -- $tcl_platform(platform) "windows" {
	# This should be Tahoma for Win2000/XP
	set font "MS Sans Serif"
	set fixedfont "Courier New"
    } unix {
	set font "helvetica"
	set fixedfont "courier"
    }

    set tixOption(font)         [list $font -14]
    set tixOption(bold_font)    [list $font -14 bold]
    set tixOption(menu_font)    [list $font -14]
    set tixOption(italic_font)  [list $font -14 bold italic]
    set tixOption(fixed_font)   [list $fixedfont -14]
    set tixOption(border1)      1
}
PKqm�[G�<�Tix8.4.3/pref/pkgIndex.tclnu�[���# -*-mode: tcl; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*-
#
# Tcl package index file, version 1.0
#
# $Id: pkgIndex.tcl,v 1.2 2002/01/24 09:17:02 idiscovery Exp $
#

package ifneeded wm_default 1.0 [list source [file join $dir WmDefault.tcl]]

PKqm�[��Tix8.4.3/pref/Old12Pt.fsnu�[���#
# $Id: Old12Pt.fs,v 1.2 2001/12/09 05:03:09 idiscovery Exp $
#

proc tixSetFontset:12Point {} {
    global tixOption

    set tixOption(font)         -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*
    set tixOption(bold_font)    -*-helvetica-bold-r-normal-*-12-*-*-*-*-*-*-*
    set tixOption(menu_font)    -*-helvetica-bold-o-normal-*-12-*-*-*-*-*-*-*
    set tixOption(italic_font)  -*-helvetica-bold-o-normal-*-12-*-*-*-*-*-*-*
    set tixOption(fixed_font) -*-courier-medium-r-*-*-12-*-*-*-*-*-*-*
    set tixOption(border1)      1
}
PKqm�[�;\v��Tix8.4.3/pref/12Point.fscnu�[���#
# $Id: 12Point.fsc,v 1.2 2001/12/09 05:03:09 idiscovery Exp $
#
proc tixPref:InitFontSet:12Point {} { 

    global tixOption tcl_platform

    switch -- $tcl_platform(platform) "windows" {
	# This should be Tahoma for Win2000/XP
	set font "MS Sans Serif"
	set fixedfont "Courier New"
    } unix {
	set font "helvetica"
	set fixedfont "courier"
    }

    set tixOption(font)         [list $font -12]
    set tixOption(bold_font)    [list $font -12 bold]
    set tixOption(menu_font)    [list $font -12]
    set tixOption(italic_font)  [list $font -12 bold italic]
    set tixOption(fixed_font)   [list $fixedfont -12]
    set tixOption(border1)      1

}
proc tixPref:SetFontSet:12Point {} { 
global tixOption
option add *Font			$tixOption(font) $tixOption(prioLevel)
option add *font			$tixOption(font) $tixOption(prioLevel)
option add *Menu.font			$tixOption(menu_font) $tixOption(prioLevel)
option add *TixMenu.font			$tixOption(menu_font) $tixOption(prioLevel)
option add *Menubutton.font			$tixOption(menu_font) $tixOption(prioLevel)
option add *Label.font              	$tixOption(bold_font) $tixOption(prioLevel)
option add *Scale.font			$tixOption(italic_font) $tixOption(prioLevel)
option add *TixBalloon*Label.font 			$tixOption(font) $tixOption(prioLevel)
option add *TixBitmapButton*label.font 			$tixOption(font) $tixOption(prioLevel)
option add *TixControl*label.font              	$tixOption(bold_font) $tixOption(prioLevel)
option add *TixLabelEntry*label.font              	$tixOption(bold_font) $tixOption(prioLevel)
option add *TixLabelFrame*label.font 	 		$tixOption(bold_font) $tixOption(prioLevel)
option add *TixMwmClient*title.font			$tixOption(menu_font) $tixOption(prioLevel)
option add *TixNoteBook.nbframe.font			$tixOption(menu_font) $tixOption(prioLevel)
option add *TixOptionMenu*menubutton.font		$tixOption(font) $tixOption(prioLevel)
option add *TixComboBox*Entry.font				$tixOption(font) $tixOption(prioLevel)
option add *TixFileSelectBox*Label.font            		$tixOption(bold_font) $tixOption(prioLevel)
}
PKqm�[����Tix8.4.3/pref/TkWin.csnu�[���#
# $Id: TkWin.cs,v 1.1 2000/10/12 01:41:04 idiscovery Exp $
#
proc tixSetScheme-Color {} {
    global tixOption

    set tixOption(bg)           SystemButtonFace
    set tixOption(fg)           SystemButtonText

    set tixOption(dark1_bg)     SystemScrollbar
    set tixOption(dark1_fg)     SystemButtonText
#     set tixOption(dark2_bg)     SystemDisabledText
#     set tixOption(dark2_fg)     black
    set tixOption(inactive_bg)  SystemButtonFace
    set tixOption(inactive_fg)  SystemButtonText

    set tixOption(light1_bg)    SystemButtonFace
#     set tixOption(light1_fg)    white
#     set tixOption(light2_bg)    #fcfcfc
#     set tixOption(light2_fg)    white

    set tixOption(active_bg)    $tixOption(dark1_bg)
    set tixOption(active_fg)    $tixOption(fg)
    set tixOption(disabled_fg)  SystemDisabledText

    set tixOption(input1_bg)    SystemWindow
#     set tixOption(input2_bg)    
#     set tixOption(output1_bg)   $tixOption(dark1_bg)
#     set tixOption(output2_bg)   $tixOption(bg)

    set tixOption(select_fg)    SystemHighlightText
    set tixOption(select_bg)    SystemHighlight

    set tixOption(selector)	SystemHighlight
}

proc tixSetScheme-Mono {} {
    global tixOption

    set tixOption(bg)           SystemButtonFace
    set tixOption(fg)           SystemButtonText

    set tixOption(dark1_bg)     SystemScrollbar
    set tixOption(dark1_fg)     SystemButtonText
#     set tixOption(dark2_bg)     SystemDisabledText
#     set tixOption(dark2_fg)     black
    set tixOption(inactive_bg)  SystemButtonFace
    set tixOption(inactive_fg)  SystemButtonText

    set tixOption(light1_bg)    SystemButtonFace
#     set tixOption(light1_fg)    white
#     set tixOption(light2_bg)    #fcfcfc
#     set tixOption(light2_fg)    white

    set tixOption(active_bg)    $tixOption(dark1_bg)
    set tixOption(active_fg)    $tixOption(fg)
    set tixOption(disabled_fg)  SystemDisabledText

    set tixOption(input1_bg)    white
#     set tixOption(input2_bg)    
#     set tixOption(output1_bg)   $tixOption(dark1_bg)
#     set tixOption(output2_bg)   $tixOption(bg)

    set tixOption(select_fg)    SystemHighlightText
    set tixOption(select_bg)    SystemHighlight

    set tixOption(selector)	SystemHighlight
}
PKqm�[���Tix8.4.3/pref/TixGray.csnu�[���#
# $Id: TixGray.cs,v 1.1.1.1 2000/05/17 11:08:47 idiscovery Exp $
#
proc tixSetScheme-Color {} {

    global tixOption

    set tixOption(bg)           lightgray
    set tixOption(fg)           black

    set tixOption(dark1_bg)     gray86
    set tixOption(dark1_fg)     black
    set tixOption(dark2_bg)     gray77
    set tixOption(dark2_fg)     black
    set tixOption(inactive_bg)  gray77
    set tixOption(inactive_fg)  black

    set tixOption(light1_bg)    gray92
    set tixOption(light1_fg)    white
    set tixOption(light2_bg)    gray95
    set tixOption(light2_fg)    white

    set tixOption(active_bg)    $tixOption(dark1_bg)
    set tixOption(active_fg)    $tixOption(fg)
    set tixOption(disabled_fg)  gray55

    set tixOption(input1_bg)    gray95
    set tixOption(input2_bg)    gray95
    set tixOption(output1_bg)   $tixOption(dark1_bg)
    set tixOption(output2_bg)   $tixOption(bg)

    set tixOption(select_fg)    black
    set tixOption(select_bg)    lightblue

    set tixOption(selector)	yellow
}
PKqm�[�'�i99Tix8.4.3/pref/14Point.fscnu�[���#
# $Id: 14Point.fsc,v 1.2 2001/12/09 05:03:09 idiscovery Exp $
#
proc tixPref:InitFontSet:14Point {} { 


    global tixOption tcl_platform

    switch -- $tcl_platform(platform) "windows" {
	if {$tcl_platform(osVersion) < 5} {
	    set font "MS Sans Serif"
	} else {
	    set font "Tahoma"
	}
	set fixedfont "Courier New"
	set bd 1
    } unix {
	set font "helvetica"
	set fixedfont "courier"
	set bd 2
    }

    set tixOption(font)         [list $font -14]
    set tixOption(bold_font)    [list $font -14 bold]
    set tixOption(menu_font)    [list $font -14]
    set tixOption(italic_font)  [list $font -14 bold italic]
    set tixOption(fixed_font)   [list $fixedfont -14]
    set tixOption(border1)      $bd

}
proc tixPref:SetFontSet:14Point {} { 
global tixOption
option add *Font			$tixOption(font) $tixOption(prioLevel)
option add *font			$tixOption(font) $tixOption(prioLevel)
option add *Menu.font			$tixOption(menu_font) $tixOption(prioLevel)
option add *TixMenu.font			$tixOption(menu_font) $tixOption(prioLevel)
option add *Menubutton.font			$tixOption(menu_font) $tixOption(prioLevel)
option add *Label.font              	$tixOption(bold_font) $tixOption(prioLevel)
option add *Scale.font			$tixOption(italic_font) $tixOption(prioLevel)
option add *TixBalloon*Label.font 			$tixOption(font) $tixOption(prioLevel)
option add *TixBitmapButton*label.font 			$tixOption(font) $tixOption(prioLevel)
option add *TixControl*label.font              	$tixOption(bold_font) $tixOption(prioLevel)
option add *TixLabelEntry*label.font              	$tixOption(bold_font) $tixOption(prioLevel)
option add *TixLabelFrame*label.font 	 		$tixOption(bold_font) $tixOption(prioLevel)
option add *TixMwmClient*title.font			$tixOption(menu_font) $tixOption(prioLevel)
option add *TixNoteBook.nbframe.font			$tixOption(menu_font) $tixOption(prioLevel)
option add *TixOptionMenu*menubutton.font		$tixOption(font) $tixOption(prioLevel)
option add *TixComboBox*Entry.font				$tixOption(font) $tixOption(prioLevel)
option add *TixFileSelectBox*Label.font            		$tixOption(bold_font) $tixOption(prioLevel)
}
PKqm�[��3[Tix8.4.3/pref/Gray.csnu�[���#
# $Id: Gray.cs,v 1.1.1.1 2000/05/17 11:08:47 idiscovery Exp $
#
proc tixSetScheme-Color {} {

    global tixOption

    set tixOption(bg)           lightgray
    set tixOption(fg)           black

    set tixOption(dark1_bg)     gray
    set tixOption(dark1_fg)     black
    set tixOption(dark2_bg)     gray50
    set tixOption(dark2_fg)     black
    set tixOption(inactive_bg)  gray50
    set tixOption(inactive_fg)  black

    set tixOption(light1_bg)    gray90
    set tixOption(light1_fg)    white
    set tixOption(light2_bg)    gray95
    set tixOption(light2_fg)    white

    set tixOption(active_bg)    $tixOption(dark1_bg)
    set tixOption(active_fg)    $tixOption(fg)
    set tixOption(disabled_fg)  gray55

    set tixOption(input1_bg)    $tixOption(dark1_bg)
    set tixOption(input2_bg)    $tixOption(bg)
    set tixOption(output1_bg)   $tixOption(dark1_bg)
    set tixOption(output2_bg)   $tixOption(bg)
	
    set tixOption(select_fg)    black
    set tixOption(select_bg)    lightblue
	
    set tixOption(selector)	yellow
}
PKqm�[�4�"$*$*Tix8.4.3/Utils.tclnu�[���# -*- mode: TCL; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*-
#
#	$Id: Utils.tcl,v 1.4 2004/03/28 02:44:57 hobbs Exp $
#
# Util.tcl --
#
#	The Tix utility commands. Some of these commands are
#	replacement of or extensions to the existing TK
#	commands. Occasionaly, you have to use the commands inside
#	this file instead of thestandard TK commands to make your
#	applicatiion work better with Tix. Please read the
#	documentations (programmer's guide, man pages) for information
#	about these utility commands.
#
# Copyright (c) 1993-1999 Ioi Kim Lam.
# Copyright (c) 2000-2001 Tix Project Group.
# Copyright (c) 2004 ActiveState
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#


#
# kludge: should be able to handle all kinds of flags
#         now only handles "-flag value" pairs.
#
proc tixHandleArgv {p_argv p_options validFlags} {
    upvar $p_options opt
    upvar $p_argv    argv

    set old_argv $argv
    set argv ""

    foreac {flag value} $old_argv {
	if {[lsearch $validFlags $flag] != -1} {
	    # The caller will handle this option exclusively
	    # It won't be added back to the original arglist
	    #
	    eval $opt($flag,action) $value
	} else {
	    # The caller does not handle this option
	    #
	    lappend argv $flag
	    lappend argv $value
	}
    }
}

#-----------------------------------------------------------------------
# tixDisableAll -
#
# 	Disable all members in a sub widget tree
#
proc tixDisableAll {w} {
    foreach x [tixDescendants $w] {
	catch {$x config -state disabled}
    }
}

#----------------------------------------------------------------------
# tixEnableAll -
#
# 	enable all members in a sub widget tree
#
proc tixEnableAll {w} {
    foreach x [tixDescendants $w] {
	catch {$x config -state normal}
    }
}

#----------------------------------------------------------------------
# tixDescendants -
#
#	Return a list of all the member of a widget subtree, including
# the tree's root widget.
#
proc tixDescendants {parent} {
    set des ""
    lappend des $parent

    foreach w [winfo children $parent] {
	foreach x [tixDescendants $w] {
	    lappend des $x
	}
    }
    return $des
}

#----------------------------------------------------------------------
# tixTopLevel -
#
#	Create a toplevel widget and unmap it immediately. This will ensure
# that this toplevel widgets will not be popped up prematurely when you
# create Tix widgets inside it.
#
#	"tixTopLevel" also provide options for you to specify the appearance
# and behavior of this toplevel.
#
#
#
proc tixTopLevel {w args} {
    set opt (-geometry) ""
    set opt (-minsize)  ""
    set opt (-maxsize)  ""
    set opt (-width)    ""
    set opt (-height)   ""

    eval [linsert $args 0 toplevel $w]
    wm withdraw $w
}

# This is a big kludge
#
#	Substitutes all [...] and $.. in the string in $args
#
proc tixInt_Expand {args} {
    return $args
}

# Print out all the config options of a widget
#
proc tixPConfig {w} {
    puts [join [lsort [$w config]] \n]
}

proc tixAppendBindTag {w tag} {
    bindtags $w [concat [bindtags $w] $tag]
}

proc tixAddBindTag {w tag} {
    bindtags $w [concat $tag [bindtags $w] ]
}

proc tixSubwidgetRef {sub} {
    return $::tixSRef($sub)
}

proc tixSubwidgetRetCreate {sub ref} {
    set ::tixSRef($sub) $ref
}

proc tixSubwidgetRetDelete {sub} {
    catch {unset ::tixSRef($sub)}
}

proc tixListboxGetCurrent {listbox} {
    return [tixEvent flag V]
}


# tixSetMegaWidget --
#
#	Associate a subwidget with its mega widget "owner". This is mainly
#	used when we add a new bindtag to a subwidget and we need to find out
#	the name of the mega widget inside the binding.
#
proc tixSetMegaWidget {w mega {type any}} {
    set ::tixMega($type,$w) $mega
}

proc tixGetMegaWidget {w {type any}} {
    return $::tixMega($type,$w)
}

proc tixUnsetMegaWidget {w} {
    if {[info exists ::tixMega($w)]} { unset ::tixMega($w) }
}

# tixBusy : display busy cursors on a window
#
#
# Should flush the event queue (but not do any idle tasks) before blocking
# the target window (I am not sure if it is aready doing so )
#
# ToDo: should take some additional windows to raise
#
proc tixBusy {w flag {focuswin ""}} {

    if {[info command tixInputOnly] == ""} {
	return
    }

    global tixBusy
    set toplevel [winfo toplevel $w]

    if {![info exists tixBusy(cursor)]} {
	set tixBusy(cursor) watch
#	set tixBusy(cursor) "[tix getbitmap hourglass] \
#	    [string range [tix getbitmap hourglass.mask] 1 end]\
# 	    black white"
    }

    if {$toplevel eq "."} {
	set inputonly0 .__tix__busy0
	set inputonly1 .__tix__busy1
	set inputonly2 .__tix__busy2
	set inputonly3 .__tix__busy3
    } else {
	set inputonly0 $toplevel.__tix__busy0
	set inputonly1 $toplevel.__tix__busy1
	set inputonly2 $toplevel.__tix__busy2
	set inputonly3 $toplevel.__tix__busy3
    }

    if {![winfo exists $inputonly0]} {
	for {set i 0} {$i < 4} {incr i} {
	    tixInputOnly [set inputonly$i] -cursor $tixBusy(cursor)
	}
    }

    if {$flag eq "on"} {
	if {$focuswin != "" && [winfo id $focuswin] != 0} {
	    if {[info exists tixBusy($focuswin,oldcursor)]} {
		return
	    }
	    set tixBusy($focuswin,oldcursor) [$focuswin cget -cursor]
	    $focuswin config -cursor $tixBusy(cursor)

	    set x1 [expr {[winfo rootx $focuswin]-[winfo rootx $toplevel]}]
	    set y1 [expr {[winfo rooty $focuswin]-[winfo rooty $toplevel]}]

	    set W  [winfo width $focuswin]
	    set H  [winfo height $focuswin]
	    set x2 [expr {$x1 + $W}]
	    set y2 [expr {$y1 + $H}]


	    if {$y1 > 0} {
		tixMoveResizeWindow $inputonly0 0   0   10000 $y1
	    }
	    if {$x1 > 0} {
		tixMoveResizeWindow $inputonly1 0   0   $x1   10000
	    }
	    tixMoveResizeWindow $inputonly2 0   $y2 10000 10000
	    tixMoveResizeWindow $inputonly3 $x2 0   10000 10000

	    for {set i 0} {$i < 4} {incr i} {
		tixMapWindow [set inputonly$i] 
		tixRaiseWindow [set inputonly$i]
	    }
	    tixFlushX $w
	} else {
	    tixMoveResizeWindow $inputonly0 0 0 10000 10000
	    tixMapWindow $inputonly0
	    tixRaiseWindow $inputonly0
	}
    } else {
	tixUnmapWindow $inputonly0
	tixUnmapWindow $inputonly1
	tixUnmapWindow $inputonly2
	tixUnmapWindow $inputonly3

	if {$focuswin != "" && [winfo id $focuswin] != 0} {
	    if {[info exists tixBusy($focuswin,oldcursor)]} {
		$focuswin config -cursor $tixBusy($focuswin,oldcursor)
		if {[info exists tixBusy($focuswin,oldcursor)]} {
		    unset tixBusy($focuswin,oldcursor)
		}
	    }
	}
    }
}

proc tixOptionName {w} {
    return [string range $w 1 end]
}

proc tixSetSilent {chooser value} {
    $chooser config -disablecallback true
    $chooser config -value $value
    $chooser config -disablecallback false
}

# This command is useful if you want to ingore the arguments
# passed by the -command or -browsecmd options of the Tix widgets. E.g
#
# tixFileSelectDialog .c -command "puts foo; tixBreak"
#
#
proc tixBreak {args} {}

#----------------------------------------------------------------------
# tixDestroy -- deletes a Tix class object (not widget classes)
#----------------------------------------------------------------------
proc tixDestroy {w} {
    upvar #0 $w data

    set destructor ""
    if {[info exists data(className)]} {
	catch {
	    set destructor [tixGetMethod $w $data(className) Destructor]
	}
    }
    if {$destructor != ""} {
	$destructor $w
    }
    catch {rename $w ""}
    catch {unset data}
    return ""
}

proc tixPushGrab {args} {
    global tix_priv

    if {![info exists tix_priv(grab-list)]} {
	set tix_priv(grab-list)    ""
	set tix_priv(grab-mode)    ""
	set tix_priv(grab-nopush) ""
    }

    set len [llength $args]
    if {$len == 1} {
	set opt ""
	set w [lindex $args 0]
    } elseif {$len == 2} {
	set opt [lindex $args 0]
	set w [lindex $args 1]
    } else {
	error "wrong # of arguments: tixPushGrab ?-global? window"
    }

    # Not everyone will call tixPushGrab. If someone else has a grab already
    # save that one as well, so that we can restore that later
    #
    set last [lindex $tix_priv(grab-list) end]
    set current [grab current $w]

    if {$current ne "" && $current ne $last} {
	# Someone called "grab" directly
	#
	lappend tix_priv(grab-list)   $current
	lappend tix_priv(grab-mode)   [grab status $current]
	lappend tix_priv(grab-nopush) 1
    }

    # Now push myself into the stack
    #
    lappend tix_priv(grab-list)   $w
    lappend tix_priv(grab-mode)   $opt
    lappend tix_priv(grab-nopush) 0

    if {$opt eq "-global"} {
	grab -global $w
    } else {
	grab $w
    }
}

proc tixPopGrab {} {
    global tix_priv

    if {![info exists tix_priv(grab-list)]} {
	set tix_priv(grab-list)   ""
	set tix_priv(grab-mode)   ""
	set tix_priv(grab-nopush) ""
    }

    set len [llength $tix_priv(grab-list)]
    if {$len <= 0} {
	error "no window is grabbed by tixGrab"
    }

    set w [lindex $tix_priv(grab-list) end]
    grab release $w

    if {$len > 1} {
	set tix_priv(grab-list)   [lrange $tix_priv(grab-list) 0 end-1]
	set tix_priv(grab-mode)   [lrange $tix_priv(grab-mode) 0 end-1]
	set tix_priv(grab-nopush) [lrange $tix_priv(grab-nopush) 0 end-1]

	set w  [lindex $tix_priv(grab-list) end]
	set m  [lindex $tix_priv(grab-list) end]
	set np [lindex $tix_priv(grab-nopush) end]

	if {$np == 1} {
	    # We have a grab set by "grab"
	    #
	    set len [llength $tix_priv(grab-list)]

	    if {$len > 1} {
		set tix_priv(grab-list)   [lrange $tix_priv(grab-list) 0 end-1]
		set tix_priv(grab-mode)   [lrange $tix_priv(grab-mode) 0 end-1]
		set tix_priv(grab-nopush) \
		    [lrange $tix_priv(grab-nopush) 0 end-1]
	    } else {
		set tix_priv(grab-list)   ""
		set tix_priv(grab-mode)   ""
		set tix_priv(grab-nopush) ""
	    }
	}

	if {$m == "-global"} {
	    grab -global $w
	} else {
	    grab $w
	}
    } else {
  	set tix_priv(grab-list)   ""
	set tix_priv(grab-mode)   ""
	set tix_priv(grab-nopush) ""
    }
}

proc tixWithinWindow {wid rootX rootY} {
    set wc  [winfo containing $rootX $rootY]
    if {$wid eq $wc} { return 1 }

    # no see if it is an enclosing parent
    set rx1 [winfo rootx $wid]
    set ry1 [winfo rooty $wid]
    set rw  [winfo width  $wid]
    set rh  [winfo height $wid]
    set rx2 [expr {$rx1+$rw}]
    set ry2 [expr {$ry1+$rh}]

    if {$rootX >= $rx1 && $rootX < $rx2 && $rootY >= $ry1 && $rootY < $ry2} {
	return 1
    } else {
	return 0
    }
}

proc tixWinWidth {w} {
    set W [winfo width $w]
    set bd [expr {[$w cget -bd] + [$w cget -highlightthickness]}]

    return [expr {$W - 2*$bd}]
}

proc tixWinHeight {w} {
    set H [winfo height $w]
    set bd [expr {[$w cget -bd] + [$w cget -highlightthickness]}]

    return [expr {$H - 2*$bd}]
}

# junk?
#
proc tixWinCmd {w} {
    return [winfo command $w]
}
PKqm�[J����Tix8.4.3/OldUtil.tclnu�[���# -*- mode: TCL; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*-
#
#	$Id: OldUtil.tcl,v 1.5 2004/03/28 02:44:57 hobbs Exp $
#
# OldUtil.tcl -
#
#	This is an undocumented file.
#	   Are these features used in Tix : NO.
#	   Should I use these features    : NO.
#
# Copyright (c) 1993-1999 Ioi Kim Lam.
# Copyright (c) 2000-2001 Tix Project Group.
# Copyright (c) 2004 ActiveState
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#

proc setenv {name args} {
    global env

    if {[llength $args] == 1} {
        return [set env($name) [lindex $args 0]]
    } else {
        if {[info exists env($ename)] == 0} {
            bgerror "Error in setenv: "
                    "environment variable \"$name\" does not exist"
        } else {
            return $env($name)
        }
    }
}
#----------------------------------------------------------------------
#
#
#           U T I L I T Y   F U N C T I O N S  F O R   T I X 
#
#
#----------------------------------------------------------------------

# RESET THE STRING IN THE ENTRY
proc tixSetEntry {entry string} {
    set oldstate [lindex [$entry config -state] 4]
    $entry config -state normal
    $entry delete 0 end
    $entry insert 0 $string
    $entry config -state $oldstate
}

# GET THE FIRST SELECTED ITEM IN A LIST
proc tixListGetSingle {lst} {
    set indices [$lst curselection]
    if {$indices != ""} {
	return [$lst get [lindex $indices 0]]
    } else {
	return ""
    }
}

#----------------------------------------------------------------------
# RECORD A DIALOG'S POSITION AND RESTORE IT THE NEXT TIME IT IS OPENED
#----------------------------------------------------------------------
proc tixDialogRestore {w {flag -geometry}} {
    global tixDPos

    if {[info exists tixDPos($w)]} {
	if {![winfo ismapped $w]} {
	    wm geometry $w $tixDPos($w)
	    wm deiconify $w
	}
    } elseif {$flag eq "-geometry"} {
	update
	set tixDPos($w) [winfo geometry $w]
    } else {
	update
	set tixDPos($w) +[winfo rootx $w]+[winfo rooty $w]
    }
}
#----------------------------------------------------------------------
# RECORD A DIALOG'S POSITION AND RESTORE IT THE NEXT TIME IT IS OPENED
#----------------------------------------------------------------------
proc tixDialogWithdraw {w {flag -geometry}} {
    global tixDPos

    if {[winfo ismapped $w]} {
	if {$flag eq "-geometry"} {
	    set tixDPos($w) [winfo geometry $w]
	} else {
	    set tixDPos($w) +[winfo rootx $w]+[winfo rooty $w]
	}
	wm withdraw $w
    }
}
#----------------------------------------------------------------------
# RECORD A DIALOG'S POSITION AND RESTORE IT THE NEXT TIME IT IS OPENED
#----------------------------------------------------------------------
proc tixDialogDestroy {w {flag -geometry}} {
    global tixDPos

    if {[winfo ismapped $w]} {
	if {$flag eq "-geometry"} {
	    set tixDPos($w) [winfo geometry $w]
	} else {
	    set tixDPos($w) +[winfo rootx $w]+[winfo rooty $w]
	}
    }
    destroy $w
}
PKqm�[�
�&&Tix8.4.3/SWidget.tclnu�[���# -*- mode: TCL; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*-
#
#	$Id: SWidget.tcl,v 1.5 2002/01/24 09:13:58 idiscovery Exp $
#
# SWidget.tcl --
#
# 	tixScrolledWidget: virtual base class. Do not instantiate
#	This is the core class for all scrolled widgets.
#
# Copyright (c) 1993-1999 Ioi Kim Lam.
# Copyright (c) 2000-2001 Tix Project Group.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#


tixWidgetClass tixScrolledWidget {
    -virtual true
    -classname TixScrolledWidget
    -superclass tixPrimitive
    -method {
    }
    -flag {
	-scrollbar -scrollbarspace
    }
    -configspec {
	{-scrollbar scrollbar Scrollbar both}
	{-scrollbarspace scrollbarSpace ScrollbarSpace {both}}
        {-sizebox sizeBox SizeBox 0}
    }
}

proc tixScrolledWidget:InitWidgetRec {w} {
    upvar #0 $w data

    tixChainMethod $w InitWidgetRec

    set data(x,first)   0
    set data(x,last)    0

    set data(y,first)   0
    set data(y,last)    0

    set data(lastSpec) ""
    set data(lastMW)   ""
    set data(lastMH)   ""
    set data(lastScbW) ""
    set data(lastScbH) ""

    set data(repack)	0
    set data(counter)   0

    set data(vsbPadY)   0
    set data(hsbPadX)   0
}

proc tixScrolledWidget:SetBindings {w} {
    upvar #0 $w data

    tixChainMethod $w SetBindings

    tixManageGeometry $data(pw:client) "tixScrolledWidget:ClientGeomProc $w"
    bind $data(pw:client) <Configure> \
	[list tixScrolledWidget:ClientGeomProc $w "" $data(pw:client)]

    tixManageGeometry $data(w:hsb) "tixScrolledWidget:ClientGeomProc $w"
    bind $data(w:hsb) <Configure> \
	[list tixScrolledWidget:ClientGeomProc $w "" $data(w:hsb)]

    tixManageGeometry $data(w:vsb) "tixScrolledWidget:ClientGeomProc $w"
    bind $data(w:vsb) <Configure> \
	[list tixScrolledWidget:ClientGeomProc $w "" $data(w:vsb)]

    bind $w <Configure> "tixScrolledWidget:MasterGeomProc $w"

    tixWidgetDoWhenIdle tixScrolledWidget:Repack $w
    set data(repack) 1
}

proc tixScrolledWidget:config-scrollbar {w value} {
    upvar #0 $w data
    global tcl_platform

    if {[lindex $value 0] == "auto"} {
	foreach xspec [lrange $value 1 end] {
	    case $xspec {
		{+x -x +y -y} {}
		default {
		    error "bad -scrollbar value \"$value\""
		}
	    }
	}
    } else {
	case $value in {
	    {none x y both} {}
	    default {
		error "bad -scrollbar value \"$value\""
	    }
	}
    }

    if {$data(-sizebox) && $tcl_platform(platform) == "windows"} {
        set data(-scrollbar) both
    }

    if {$data(repack) == 0} {
	set data(repack) 1
	tixWidgetDoWhenIdle tixScrolledWidget:Repack $w
    }
}	

proc tixScrolledWidget:config-scrollbarspace {w value} {
    upvar #0 $w data
  
    if {$data(repack) == 0} {
	set data(repack) 1
	tixWidgetDoWhenIdle tixScrolledWidget:Repack $w
    }
}	

proc tixScrolledWidget:config-sizebox {w value} {
  error "unimplemented"
}


#----------------------------------------------------------------------
#
#		 Scrollbar calculations
#
#----------------------------------------------------------------------
proc tixScrolledWidget:ClientGeomProc {w type client} {
    upvar #0 $w data

    if {$data(repack) == 0} {
	set data(repack) 1
	tixWidgetDoWhenIdle tixScrolledWidget:Repack $w
    }
}

proc tixScrolledWidget:MasterGeomProc {w} {
    upvar #0 $w data

    if {$data(repack) == 0} {
	set data(repack) 1
	tixWidgetDoWhenIdle tixScrolledWidget:Repack $w
    }
}

proc tixScrolledWidget:Configure {w} {
    if {![winfo exists $w]} {
	return
    }

    upvar #0 $w data

    if {$data(repack) == 0} {
	set data(repack) 1
	tixWidgetDoWhenIdle tixScrolledWidget:Repack $w
    }
}

proc tixScrolledWidget:ScrollCmd {w scrollbar axis first last} {
    upvar #0 $w data

    $scrollbar set $first $last
}

# Show or hide the scrollbars as required.
#
# spec: 00 = need none
# spec: 01 = need y
# spec: 10 = need x
# spec: 11 = need xy
#
proc tixScrolledWidget:Repack {w} {
    tixCallMethod $w RepackHook
}

proc tixScrolledWidget:RepackHook {w} {
    upvar #0 $w data
    global tcl_platform

    if {![winfo exists $w]} {
	# This was generated by the <Destroy> event
	#
	return
    }

    set client $data(pw:client)

    # Calculate the size of the master
    #
    set mreqw [winfo reqwidth  $w]
    set mreqh [winfo reqheight $w]
    set creqw [winfo reqwidth  $client]
    set creqh [winfo reqheight $client]

    set scbW [winfo reqwidth  $w.vsb]
    set scbH [winfo reqheight $w.hsb]

    case $data(-scrollbarspace) {
	"x" {
	    incr creqh $scbH
	}
	"y" {
	    incr creqw $scbW
	}
	"both" {
	    incr creqw $scbW
	    incr creqh $scbH
	}
    }

    if {$data(-width) != 0} {
	set creqw $data(-width)
    }
    if {$data(-height) != 0} {
	set creqh $data(-height)
    }

    if {$mreqw != $creqw || $mreqh != $creqh } {
	if {![info exists data(counter)]} {
	    set data(counter) 0
	}
	if {$data(counter) < 50} {
	    incr data(counter)
	    tixGeometryRequest $w $creqw $creqh
	    tixWidgetDoWhenIdle tixScrolledWidget:Repack $w
	    set data(repack) 1
	    return
	}
    }

    set data(counter) 0
    set mw [winfo width  $w]
    set mh [winfo height $w]

    set cw [expr $mw - $scbW]
    set ch [expr $mh - $scbH]

    set scbx [expr $mw - $scbW]
    set scby [expr $mh - $scbH]

    # Check the validity of the sizes: if window was not mapped then
    # sizes will be below 1x1
    if {$cw < 1} {
	set cw 1
    }
    if {$ch < 1} {
	set ch 1
    }
    if {$scbx < 1} {
	set scbx 1
    }
    if {$scby < 1} {
	set scby 1
    }

    if {[lindex $data(-scrollbar) 0] == "auto"} {
	# Find out how we are going to pack the scrollbars
	#
	set spec [tixScrolledWidget:CheckScrollbars $w $scbW $scbH]

	foreach xspec [lrange $data(-scrollbar) 1 end] {
	    case $xspec {
		+x {
		    set spec [expr $spec | 10]
		}
		-x {
		    set spec [expr $spec & 01]
		}
		+y {
		    set spec [expr $spec | 01]
		}
		-y {
		    set spec [expr $spec & 10]
		}
	    }
	}
	if {$spec == 0} {
	    set spec 00
	}
	if {$spec == 1} {
	    set spec 01
	}
    } else {
	case $data(-scrollbar) in {
	    none {
		set spec 00
	    }
	    x {
		set spec 10
	    }
	    y {
		set spec 01
	    }
	    both {
		set spec 11
	    }
	}
    }


    if {$data(lastSpec)==$spec && $data(lastMW)==$mw && $data(lastMH)==$mh} {
	if {$data(lastScbW) == $scbW && $data(lastScbH) == $scbH} {
	    tixCallMethod $w PlaceWindow
	    set data(repack) 0
	    return
	}
    }

    set vsbH [expr $mh - $data(vsbPadY)]
    set hsbW [expr $mw - $data(hsbPadX)]

    if {$vsbH < 1} {
	set vsbH 1
    }
    if {$hsbW < 1} {
	set hsbW 1
    }

    case $spec in {
	"00" {
	    tixMoveResizeWindow $client 0 0 $mw $mh

	    tixMapWindow $client
    	    tixUnmapWindow $data(w:hsb)
	    tixUnmapWindow $data(w:vsb)
	}
	"01" {
	    tixMoveResizeWindow $client 0 0 $cw $mh
	    tixMoveResizeWindow $data(w:vsb) $scbx $data(vsbPadY) $scbW $vsbH

	    tixMapWindow $client
	    tixUnmapWindow $data(w:hsb)
	    tixMapWindow $data(w:vsb)
	}
	"10" {
	    tixMoveResizeWindow $client 0 0 $mw $ch
	    tixMoveResizeWindow $data(w:hsb) $data(hsbPadX) $scby $hsbW $scbH 

	    tixMapWindow $client
	    tixMapWindow $data(w:hsb)
	    tixUnmapWindow $data(w:vsb)
	}
	"11" {
	    set vsbH [expr $ch - $data(vsbPadY)]
	    set hsbW [expr $cw - $data(hsbPadX)]
	    if {$vsbH < 1} {
		set vsbH 1
	    }
	    if {$hsbW < 1} {
		set hsbW 1
	    }

	    tixMoveResizeWindow $client 0 0 $cw $ch
	    tixMoveResizeWindow $data(w:vsb) $scbx $data(vsbPadY) $scbW $vsbH
	    tixMoveResizeWindow $data(w:hsb) $data(hsbPadX) $scby $hsbW $scbH 
	    if {$data(-sizebox) && $tcl_platform(platform) == "windows"} {
	        tixMoveResizeWindow $data(w:sizebox) $scbx $scby $scbW $scbH
	    }

	    tixMapWindow $client
	    tixMapWindow $data(w:hsb)
	    tixMapWindow $data(w:vsb)
	    if {$data(-sizebox) && $tcl_platform(platform) == "windows"} {
	        tixMapWindow $data(w:sizebox)
	    }
	}
    }

    set data(lastSpec) $spec
    set data(lastMW)   $mw
    set data(lastMH)   $mh
    set data(lastScbW) $scbW
    set data(lastScbH) $scbH

    tixCallMethod $w PlaceWindow
    set data(repack) 0
}

proc tixScrolledWidget:PlaceWindow {w} {
    # virtual base function
}

#
# Helper function
#
proc tixScrolledWidget:NeedScrollbar {w axis} {
    upvar #0 $w data

    if {$data($axis,first) > 0.0} {
	return 1
    }

    if {$data($axis,last) < 1.0} {
	return 1
    }
    
    return 0
}

# Return whether H and V needs scrollbars in a list of two booleans
#
#
proc tixScrolledWidget:CheckScrollbars {w scbW scbH} {
    upvar #0 $w data

    set mW [winfo width  $w]
    set mH [winfo height $w]

    set info [tixCallMethod $w GeometryInfo $mW $mH]

    if {$info != ""} {
	set xSpec [lindex $info 0]
	set ySpec [lindex $info 1]

	set data(x,first)   [lindex $xSpec 0]
	set data(x,last)    [lindex $xSpec 1]

	set data(y,first)   [lindex $ySpec 0]
	set data(y,last)    [lindex $ySpec 1]
    }

    set needX [tixScrolledWidget:NeedScrollbar $w x]
    set needY [tixScrolledWidget:NeedScrollbar $w y]

    if {[winfo ismapped $w]==0} {
	return "$needX$needY"
    }

    if {$needX && $needY} {
	return 11
    }

    if {$needX == 0 && $needY == 0} {
	return 00
    }

    if {$needX} {
	set mH [expr $mH - $scbH]
    }
    if {$needY} {
	set mW [expr $mW - $scbW]
    }

    set info [tixCallMethod $w GeometryInfo $mW $mH]
    if {$info != ""} {
	set xSpec [lindex $info 0]
	set ySpec [lindex $info 1]

	set data(x,first)   [lindex $xSpec 0]
	set data(x,last)    [lindex $xSpec 1]

	set data(y,first)   [lindex $ySpec 0]
	set data(y,last)    [lindex $ySpec 1]
    }

    set needX [tixScrolledWidget:NeedScrollbar $w x]
    set needY [tixScrolledWidget:NeedScrollbar $w y]

    return "$needX$needY"
}

PKqm�[0����Tix8.4.3/FileDlg.tclnu�[���# -*- mode: TCL; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*-
#
#	$Id: FileDlg.tcl,v 1.3 2001/12/09 05:04:02 idiscovery Exp $
#
# FileDlg.tcl --
#
#	Implements the File Selection Dialog widget.
#
# Copyright (c) 1993-1999 Ioi Kim Lam.
# Copyright (c) 2000-2001 Tix Project Group.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#

tixWidgetClass tixFileSelectDialog {
    -classname TixFileSelectDialog
    -superclass tixStdDialogShell
    -method {
    }
    -flag {
	-command
    }
    -configspec {
	{-command command Command ""}

	{-title title Title "Select A File"}
    }
}

proc tixFileSelectDialog:ConstructTopFrame {w frame} {
    upvar #0 $w data

    tixChainMethod $w ConstructTopFrame $frame

    set data(w:fsbox) [tixFileSelectBox $frame.fsbox \
	-command [list tixFileSelectDialog:Invoke $w]]
    pack $data(w:fsbox) -expand yes -fill both
}

proc tixFileSelectDialog:SetBindings {w} {
    upvar #0 $w data

    tixChainMethod $w SetBindings

    $data(w:btns) subwidget ok     config -command "$data(w:fsbox) invoke" \
	-underline 0
    $data(w:btns) subwidget apply  config -command "$data(w:fsbox) filter" \
	-text Filter -underline 0
    $data(w:btns) subwidget cancel config -command "wm withdraw $w" \
	-underline 0
    $data(w:btns) subwidget help config -underline 0


    bind $w <Alt-Key-l> "focus [$data(w:fsbox) subwidget filelist]"
    bind $w <Alt-Key-d> "focus [$data(w:fsbox) subwidget dirlist]"
    bind $w <Alt-Key-s> "focus [$data(w:fsbox) subwidget selection]"
    bind $w <Alt-Key-t> "focus [$data(w:fsbox) subwidget filter]"
    bind $w <Alt-Key-o> "tkButtonInvoke [$data(w:btns) subwidget ok]"
    bind $w <Alt-Key-f> "tkButtonInvoke [$data(w:btns) subwidget apply]"
    bind $w <Alt-Key-c> "tkButtonInvoke [$data(w:btns) subwidget cancel]"
    bind $w <Alt-Key-h> "tkButtonInvoke [$data(w:btns) subwidget help]"
}

proc tixFileSelectDialog:Invoke {w filename} {
    upvar #0 $w data

    wm withdraw $w

    if {$data(-command) != ""} {
	set bind(specs) "%V"
	set bind(%V) $filename
	tixEvalCmdBinding $w $data(-command) bind $filename
    }
}
PKqm�[|=�K��Tix8.4.3/DialogS.tclnu�[���# -*- mode: TCL; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*-
#
#	$Id: DialogS.tcl,v 1.5 2004/03/28 02:44:57 hobbs Exp $
#
# DialogS.tcl --
#
#
#	Implements the DialogShell widget. It tells the window
#	manager that it is a dialog window and should be treated specially.
#	The exact treatment depends on the treatment of the window
#	manager
#
# Copyright (c) 1994-1996, Expert Interface Technologies
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#

tixWidgetClass tixDialogShell {
    -superclass tixShell
    -classname  TixDialogShell
    -method {
	popdown popup center
    }
    -flag   {
	-mapped -minheight -minwidth -parent -transient
    }
    -static {}
    -configspec {
	{-mapped mapped Mapped 0}
	{-minwidth minWidth MinWidth 0}
	{-minheight minHeight MinHeight 0}
	{-transient transient Transient true}
	{-parent parent Parent ""}
    }
}

#----------------------------------------------------------------------
#		Construct widget
#----------------------------------------------------------------------

proc tixDialogShell:ConstructWidget {w} {
    upvar #0 $w data

    tixChainMethod $w ConstructWidget

    # Set the title of this shell appropriately
    #
    if {$data(-title) == ""} {
	# dynamically sets the title
	#
	set data(-title) [winfo name $w]
    }
    wm title $w $data(-title)

    # Set the parent of this dialog shell
    #
    if {$data(-parent) == ""} {
	set data(-parent) [winfo parent $w]
    }

    # Set the minsize and maxsize of the thing
    #
    wm minsize $w $data(-minwidth) $data(-minheight)
    wm transient $w ""
}

# The next procedures manage the dialog boxes
#
proc tixDialogShell:popup {w {parent ""}} {
    upvar #0 $w data

    # First update to make sure the boxes are the right size
    #
    update idletask

    # Then we set the position and update
    #
    # tixDialogShell:center $w $parent

    # and now make it visible. Viola!  Centered over parent.
    #
    wm deiconify $w
    after idle raise $w
}

# This procedure centers a dialog box over a window making sure that the 
# dialog box doesn't appear off the screen
#
# However, if the parent is smaller than this dialog, make this dialog
# appear at parent(x,y) + (20,20)
#
proc tixDialogShell:center {w {parent ""}} {
    upvar #0 $w data

    # Tell the WM that we'll do this ourselves.
    wm sizefrom $w user
    wm positionfrom $w user

    if {$parent == ""} {
	set parent $data(-parent)
    }
    if {$parent == "" || [catch {set parent [winfo toplevel $parent]}]} {
	set parent "."
    }

    # Where is my parent and what are it's dimensions
    #
    if {$parent != ""} {
	set pargeo [split [wm geometry $parent] "+x"]
	set parentW [lindex $pargeo 0]
	set parentH [lindex $pargeo 1]
	set parx [lindex $pargeo 2]
	set pary [lindex $pargeo 3]

	if {[string is true -strict $data(-transient)]} {
	    wm transient $w $parent
	}
    } else {
	set parentW [winfo screenwidth $w]
	set parentH [winfo screenheight $w]
	set parx 0
	set pary 0
	set parent [winfo parent $w]
    }

    # What are is the offset of the virtual window
    set vrootx [winfo vrootx $parent]
    set vrooty [winfo vrooty $parent]

    # What are my dimensions ?
    set dialogW [winfo reqwidth $w]
    set dialogH [winfo reqheight $w]

    if {$dialogW < $parentW-30 || $dialogW < $parentH-30} {
	set dialogx [expr {$parx+($parentW-$dialogW)/2+$vrootx}]
	set dialogy [expr {$pary+($parentH-$dialogH)/2+$vrooty}]
    } else {
	# This dialog is too big. Place it at (parentx, parenty) + (20,20)
	#
	set dialogx [expr {$parx+20+$vrootx}]
	set dialogy [expr {$pary+20+$vrooty}]
    }

    set maxx [expr {[winfo screenwidth  $parent] - $dialogW}]
    set maxy [expr {[winfo screenheight $parent] - $dialogH}]

    # Make sure it doesn't go off screen
    #
    if {$dialogx < 0} {
	set dialogx 0
    } else {
	if {$dialogx > $maxx} {
	    set dialogx $maxx
	}
    }
    if {$dialogy < 0} {
	set dialogy 0
    } else {
	if {$dialogy > $maxy} {
	    set dialogy $maxy
	}
    }

    # set my new position (and dimensions)
    #
    if {[wm geometry $w] == "1x1+0+0"} {
	wm geometry $w ${dialogW}x${dialogH}+${dialogx}+${dialogy}
    }
}

proc tixDialogShell:popdown {w args} {
    wm withdraw $w
}

PKqm�[ʯn�**Tix8.4.3/Meter.tclnu�[���# -*- mode: TCL; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*-
#
#	$Id: Meter.tcl,v 1.3 2001/12/09 05:04:02 idiscovery Exp $
#
# Meter.tcl --
#
#	Implements the tixMeter widget
#
# Copyright (c) 1993-1999 Ioi Kim Lam.
# Copyright (c) 2000-2001 Tix Project Group.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#


tixWidgetClass tixMeter {
    -classname TixMeter
    -superclass tixPrimitive
    -method {
    }
    -flag {
	-foreground -text -value
    }
    -configspec {
	{-fillcolor fillColor FillColor #8080ff}
	{-foreground foreground Foreground black}
	{-text text Text ""}
	{-value value Value 0}
    }
    -default {
	{.relief		sunken}
	{.borderWidth		2}
	{.width			150}
    }
}

proc tixMeter:InitWidgetRec {w} {
    upvar #0 $w data
    global env

    tixChainMethod $w InitWidgetRec
}

#----------------------------------------------------------------------
#		Construct widget
#----------------------------------------------------------------------
proc tixMeter:ConstructWidget {w} {
    upvar #0 $w data

    tixChainMethod $w ConstructWidget

    set data(w:canvas) [canvas $w.canvas]
    pack $data(w:canvas) -expand yes -fill both

    tixMeter:Update $w
}

proc tixMeter:SetBindings {w} {
    upvar #0 $w data

    tixChainMethod $w SetBindings
}

proc tixMeter:Update {w} {
    upvar #0 $w data

    # set the width of the canvas
    set W [expr $data(-width)-\
	([$data(w:root) cget -bd]+[$data(w:root) cget -highlightthickness]*2)]
    $data(w:canvas) config -width $W

    if {$data(-text) == ""} {
	set text [format "%d%%" [expr int($data(-value)*100)]]
    } else {
	set text $data(-text)
    }

    # (Create/Modify) the text item.
    #
    if {![info exists data(text)]} {
	set data(text) [$data(w:canvas) create text 0 0 -text $text]
    } else {
	$data(w:canvas) itemconfig $data(text) -text $text
    }

    set bbox [$data(w:canvas) bbox $data(text)]

    set itemW [expr [lindex $bbox 2]-[lindex $bbox 0]]
    set itemH [expr [lindex $bbox 3]-[lindex $bbox 1]]


    $data(w:canvas) coord $data(text) [expr $W/2] [expr $itemH/2+4]

    set H [expr $itemH + 4]
    $data(w:canvas) config -height [expr $H]


    set rectW [expr int($W*$data(-value))]

    if {![info exists data(rect)]} {
	set data(rect) [$data(w:canvas) create rectangle 0 0 $rectW 1000]
    } else {
	$data(w:canvas) coord $data(rect) 0 0 $rectW 1000
    }

    $data(w:canvas) itemconfig $data(rect) \
	-fill $data(-fillcolor) -outline $data(-fillcolor)

    $data(w:canvas) raise $data(text)
}

#----------------------------------------------------------------------
# Configuration
#----------------------------------------------------------------------
proc tixMeter:config-value {w value} {
    upvar #0 $w data

    set data(-value) $value
    tixMeter:Update $w
}

proc tixMeter:config-text {w value} {
    upvar #0 $w data

    set data(-text) $value
    tixMeter:Update $w
}

proc tixMeter:config-fillcolor {w value} {
    upvar #0 $w data

    set data(-fillcolor) $value
    tixMeter:Update $w
}
  

PKqm�[�Ex;;Tix8.4.3/StatBar.tclnu�[���# -*- mode: TCL; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*-
#
#	$Id: StatBar.tcl,v 1.2 2001/12/09 05:04:02 idiscovery Exp $
#
# StatBar.tcl --
#
#	The StatusBar of an application.
#
# Copyright (c) 1993-1999 Ioi Kim Lam.
# Copyright (c) 2000-2001 Tix Project Group.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#

tixWidgetClass tixStatusBar {
    -classname TixStatusBar
    -superclass tixPrimitive
    -method {
    }
    -flag {
	-fields
    }
    -static {
	-fields
    }
    -configspec {
	{-fields fields Fields ""}
    }
}

#--------------------------
# Create Widget
#--------------------------
proc tixStatusBar:ConstructWidget {w} {
    upvar #0 $w data

    tixChainMethod $w ConstructWidget

    foreach field $data(-fields) {
	set name  [lindex $field 0]
	set width [lindex $field 1]

	set data(w:width) [label $w.$name -width $width]
    }
}


#----------------------------------------------------------------------
#                         Public methods
#----------------------------------------------------------------------


#----------------------------------------------------------------------
#                         Internal commands
#----------------------------------------------------------------------
PKqm�[�{���Tix8.4.3/ChkList.tclnu�[���# -*- mode: TCL; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*-
#
#	$Id: ChkList.tcl,v 1.6 2004/03/28 02:44:57 hobbs Exp $
#
# ChkList.tcl --
#
#	This file implements the TixCheckList widget.
#
# Copyright (c) 1993-1999 Ioi Kim Lam.
# Copyright (c) 2000-2001 Tix Project Group.
# Copyright (c) 2004 ActiveState
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#

tixWidgetClass tixCheckList {
    -classname TixCheckList
    -superclass tixTree
    -method {
	getselection getstatus setstatus
    }
    -flag {
	-radio
    }
    -configspec {
	{-radio radio Radio false tixVerifyBoolean}

	{-ignoreinvoke ignoreInvoke IgnoreInvoke true tixVerifyBoolean}
    }
    -static {
	-radio
    }
    -default {
	{.scrollbar			auto}
	{.doubleClick			false}
	{*Scrollbar.takeFocus           0}
	{*borderWidth                   1}
	{*hlist.background              #c3c3c3}
	{*hlist.drawBranch              1}
	{*hlist.height                  10}
	{*hlist.highlightBackground      #d9d9d9}
	{*hlist.indicator               1}
	{*hlist.indent                  20}
	{*hlist.itemType                imagetext}
	{*hlist.padX                    3}
	{*hlist.padY                    0}
	{*hlist.relief                  sunken}
	{*hlist.takeFocus               1}
	{*hlist.wideSelection           0}
	{*hlist.width                   20}
    }
}

proc tixCheckList:InitWidgetRec {w} {
    upvar #0 $w data

    tixChainMethod $w InitWidgetRec

    if {$data(-radio)} {
	set data(selected) ""
    }
}

#----------------------------------------------------------------------
#
#			Widget commands
#
#----------------------------------------------------------------------

# Helper function for getselection
#
proc tixCheckList:GetSel {w var ent mode} {
    upvar #0 $w data
    upvar $var img

    set ents ""

    catch {
	if {[$data(w:hlist) entrycget $ent -bitmap] eq $img($mode)} {
	    lappend ents $ent
	}
    }

    foreach child [$data(w:hlist) info children $ent] {
	set ents [concat $ents [tixCheckList:GetSel $w img $child $mode]]
    }

    return $ents
}


# Mode can be on, off, default
#
proc tixCheckList:getselection {w {mode on}} {
    upvar #0 $w data

    set img(on)      [tix getbitmap ck_on]
    set img(off)     [tix getbitmap ck_off]
    set img(default) [tix getbitmap ck_def]

    set ents ""
    foreach child [$data(w:hlist) info children] {
	set ents [concat $ents [tixCheckList:GetSel $w img $child $mode]]
    }
    return $ents
}

proc tixCheckList:getstatus {w ent} {
    upvar #0 $w data

    if {[$data(w:hlist) entrycget $ent -itemtype] eq "imagetext"} {
	set img(on)      [tix getbitmap ck_on]
	set img(off)     [tix getbitmap ck_off]
	set img(default) [tix getbitmap ck_def]

	set bitmap [$data(w:hlist) entrycget $ent -bitmap]

	if {$bitmap eq $img(on)} {
	    set status on
	}
	if {$bitmap eq $img(off)} {
	    set status off
	}
	if {$bitmap eq $img(default)} {
	    set status default
	}
    }

    if {[info exists status]} {
	return $status
    } else {
	return "none"
    }
}

proc tixCheckList:setstatus {w ent {mode on}} {
    upvar #0 $w data

    if {$data(-radio)} {
	set status [tixCheckList:getstatus $w $ent]

	if {$status eq $mode} {
	    return
	}

	if {$mode eq "on"} {
	    if {$data(selected) != ""} {
		tixCheckList:Select $w $data(selected) off
	    }
	    set data(selected) $ent
	    tixCheckList:Select $w $ent $mode
	} elseif {$mode eq "off"} {
	    if {$data(selected) eq $ent} {
		return
	    }
	    tixCheckList:Select $w $ent $mode
	} else {
	    tixCheckList:Select $w $ent $mode
	}
    } else {
	tixCheckList:Select $w $ent $mode
    }
}

proc tixCheckList:Select {w ent mode} {
    upvar #0 $w data

    if {[$data(w:hlist) entrycget $ent -itemtype] eq "imagetext"} {
	set img(on)      ck_on
	set img(off)     ck_off
	set img(default) ck_def

	if [catch {
	    set bitmap [tix getbitmap $img($mode)]
	    $data(w:hlist) entryconfig $ent -bitmap $bitmap
	}] {
	    # must be the "none" mode
	    #
	    catch {
		$data(w:hlist) entryconfig $ent -bitmap ""
	    }
	}
    }

    return $mode
}

proc tixCheckList:HandleCheck {w ent} {
    upvar #0 $w data

    if {[$data(w:hlist) entrycget $ent -itemtype] eq "imagetext"} {
	set img(on)      [tix getbitmap ck_on]
	set img(off)     [tix getbitmap ck_off]
	set img(default) [tix getbitmap ck_def]

	set curMode [tixCheckList:getstatus $w $ent]

	case $curMode {
	    on {
		tixCheckList:setstatus $w $ent off
	    }
	    off {
		tixCheckList:setstatus $w $ent on
	    }
	    none {
		return
	    }
	    default {
		tixCheckList:setstatus $w $ent on
	    }
	}
    }
}

proc tixCheckList:Command {w B} {
    upvar #0 $w data
    upvar $B bind

    set ent [tixEvent flag V]
    tixCheckList:HandleCheck $w $ent

    tixChainMethod $w Command $B
}

proc tixCheckList:BrowseCmd {w B} {
    upvar #0 $w data
    upvar $B bind

    set ent [tixEvent flag V]

    case [tixEvent type] {
	{<ButtonPress-1> <space>} {
	    tixCheckList:HandleCheck $w $ent
	}
    }

    tixChainMethod $w BrowseCmd $B 
}
PKqm�[_���11Tix8.4.3/DirBox.tclnu�[���# -*- mode: TCL; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*-
#
#	$Id: DirBox.tcl,v 1.4 2004/03/28 02:44:57 hobbs Exp $
#
# DirBox.tcl --
#
#	Implements the tixDirSelectBox widget.
#
# 	   - overrides the -browsecmd and -command options of the
#	     HList subwidget
#
# Copyright (c) 1993-1999 Ioi Kim Lam.
# Copyright (c) 2000-2001 Tix Project Group.
# Copyright (c) 2004 ActiveState
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#

tixWidgetClass tixDirSelectBox {
    -classname TixDirSelectBox
    -superclass tixPrimitive
    -method {
    }
    -flag {
	-command -disablecallback -value
    }
    -configspec {
	{-command command Command ""}
	{-disablecallback disableCallback DisableCallback 0 tixVerifyBoolean}
	{-label label Label "Directory:"}
	{-value value Value ""}
    }
    -forcecall {
	-value -label
    }
    -default {
	{*combo*listbox.height 		5}
	{*combo.label.anchor		w}
	{*combo.labelSide		top}
	{*combo.history			true}
	{*combo.historyLimit		20}
    }
}

proc tixDirSelectBox:InitWidgetRec {w} {
    upvar #0 $w data
    tixChainMethod $w InitWidgetRec
}

proc tixDirSelectBox:ConstructWidget {w} {
    upvar #0 $w data

    tixChainMethod $w ConstructWidget
    set data(w:dircbx) [tixFileComboBox $w.dircbx]
    set data(w:dirlist)  [tixDirList $w.dirlist]

    pack $data(w:dircbx) -side top -fill x -padx 4 -pady 2
    pack $data(w:dirlist) -side top -fill both -expand yes -padx 4 -pady 2

    if {$data(-value) eq ""} {
	set data(-value) [pwd]
    }
}

proc tixDirSelectBox:SetBindings {w} {
    upvar #0 $w data

    tixChainMethod $w SetBindings

    $data(w:dircbx) config -command [list tixDirSelectBox:Cmd-DirCbx $w]
    $data(w:dirlist) config -command [list tixDirSelectBox:Cmd-DirList $w]\
	-browsecmd [list tixDirSelectBox:Browse-DirList $w]
}

#----------------------------------------------------------------------
# Incoming event: User
#----------------------------------------------------------------------

# User activates the FileComboBox
#
#
proc tixDirSelectBox:Cmd-DirCbx {w args} {
    upvar #0 $w data

    set fInfo [tixEvent value]
    set path [lindex $fInfo 0]

    if {![file exists $path]} {
	# 1.1 Check for validity. The pathname cannot contain invalid chars
	#
	if {![tixFSIsValid $path]} {
	    tk_messageBox -title "Invalid Directory" \
		-type ok -icon error \
		-message "\"$path\" is not a valid directory name"
	    $data(w:dircbx) config \
		-text [tixFSDisplayName [file normalize $data(-value)]] \
		-directory $data(-value)
	    return
	}

	# 1.2 Prompt for creation
	#
	set choice [tk_messageBox -title "Create Directory?" \
			-type yesno -icon question \
			-message "Directory \"$path\" does not exist.\
			\nDo you want to create it?"]
	if {$choice eq "yes"
	    && [catch {file mkdir [file dirname $path]} err]} {
	    tk_messageBox -title "Error Creating Directory" \
		-icon error -type ok \
		-message "Cannot create directory \"$path\":\n$err"
	    set choice "no"
	}
	if {$choice eq "no"} {
	    $data(w:dircbx) config \
		-text [tixFSDisplayName [file normalize $data(-value)]] \
		-directory $data(-value)
	    return
	}
	tixDirSelectBox:SetValue $w $path 1 1
    } elseif {![file isdirectory $path]} {
	# 2.1: Can't choose a non-directory file
	#
	tk_messageBox -title "Invalid Directory" \
	    -type ok -icon error \
	    -message "\"$path\" is not a directory"
	$data(w:dircbx) config \
	    -text [tixFSDisplayName [file normalize $data(-value)]] \
	    -directory $data(-value)
	return
    } else {
	# OK. It is an existing directory
	#
	tixDirSelectBox:SetValue $w $path 1 1
    }
}

# User activates the dir list
#
#
proc tixDirSelectBox:Cmd-DirList {w args} {
    upvar #0 $w data

    set dir $data(-value)
    catch {set dir [tixEvent flag V]}
    set dir [tixFSNormalize $dir]
    tixDirSelectBox:SetValue $w $dir 0 0
}

# User browses the dir list
#
#
proc tixDirSelectBox:Browse-DirList {w args} {
    upvar #0 $w data

    set dir $data(-value)
    catch {set dir [tixEvent flag V]}
    set dir [tixFSNormalize $dir]
    tixDirSelectBox:SetValue $w $dir 0 0
}

#----------------------------------------------------------------------
# Incoming event: Application
#----------------------------------------------------------------------
proc tixDirSelectBox:config-value {w value} {
    upvar #0 $w data

    set value [tixFSNormalize $value]
    tixDirSelectBox:SetValue $w $value 1 1
    return $value
}

proc tixDirSelectBox:config-label {w value} {
    upvar #0 $w data

    $data(w:dircbx) subwidget combo config -label $value
}

#----------------------------------------------------------------------
#
#			Internal functions
#
#----------------------------------------------------------------------

# Arguments:
#	callback:Bool	Should we invoke the the -command.
# 	setlist:Bool	Should we set the -value of the DirList subwidget.
#
proc tixDirSelectBox:SetValue {w dir callback setlist} {
    upvar #0 $w data

    set data(-value) $dir
    $data(w:dircbx) config -text [tixFSDisplayName $dir] -directory $dir
    if {$setlist && [file isdirectory $dir]} {
	tixSetSilent $data(w:dirlist) $dir
    }

    if {$callback} {
	if {!$data(-disablecallback) && [llength $data(-command)]} {
	    set bind(specs) {%V}
	    set bind(%V)    $data(-value)

	    tixEvalCmdBinding $w $data(-command) bind $data(-value)
	}
    }
}
PKqm�[v�GE��Tix8.4.3/fs.tclnu�[���# -*- mode: TCL; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*-
#
#	$Id: fs.tcl,v 1.6 2004/03/28 02:44:57 hobbs Exp $
#
# File system routines to handle some file system variations
# and how that interoperates with the Tix widgets (mainly HList).
#
# Copyright (c) 2004 ActiveState

##
## Cross-platform
##

proc tixFSSep {} { return "/" }

proc tixFSNormalize {path} {
    # possibly use tixFSTilde ?
    return [file normalize $path]
}

proc tixFSVolumes {} {
    return [file volumes]
}

proc tixFSAncestors {path} {
    return [file split [file normalize $path]]
}

# how a filename should be displayed
proc tixFSDisplayFileName {path} {
    if {$path eq [file dirname $path]} {
	return $path
    } else {
	return [file tail $path]
    }
}

# dir:		Make a listing of this directory
# showSubDir:	Want to list the subdirectories?
# showFile:	Want to list the non-directory files in this directory?
# showPrevDir:	Want to list ".." as well?
# showHidden:	Want to list the hidden files?
#
# return value:	a list of files and/or subdirectories
#
proc tixFSListDir {dir showSubDir showFile showPrevDir \
		       showHidden {pattern ""}} {

    if {$pattern eq ""} { set pattern [list "*"] }
    if {$::tcl_platform(platform) eq "unix"
	&& $showHidden && $pattern eq "*"} { lappend pattern ".*" }

    if {[catch {eval [list glob -nocomplain -directory $dir] \
		    $pattern} files]} {
	# The user has entered an invalid or unreadable directory
	# %% todo: prompt error, go back to last succeed directory
	return ""
    }
    set list ""
    foreach f [lsort -dictionary $files] {
	set tail [file tail $f]
	# file tail handles this automatically
	#if {[string match ~* $tail]} { set tail ./$tail }
	if {[file isdirectory $f]} {
	    if {$tail eq "."} { continue }
	    if {$showSubDir} {
		if {$tail eq ".." && !$showPrevDir} { continue }
		lappend list $tail
	    }
	} else {
	    if {$showFile} { lappend list $tail }
	}
    }
    return $list
}

# in:	internal name
# out:	native name
proc tixFSNativeNorm {path} {
    return [tixFSNative [tixFSNormalize $path]]
}

# tixFSDisplayName --
#
#	Returns the name of a normalized path which is usually displayed by
#	the OS
#
proc tixFSDisplayName {path} {
    return [tixFSNative $path]
}

proc tixFSTilde {path} {
    # verify that paths with leading ~ are files or real users
    if {[string match ~* $path]} {
	# The following will report if the user doesn't exist
	if {![file isdirectory $path]} {
	    set path ./$path
	} else {
	    set path [file normalize $path]
	}
    }
    return $path
}

proc tixFSJoin {dir sub} {
    return [tixFSNative [file join $dir [tixFSTilde $sub]]]
}

proc tixFSNative {path} {
    return $path
}

if {$::tcl_platform(platform) eq "windows"} {

    ##
    ## WINDOWS
    ##

    # is an absoulte path only if it starts with a baclskash
    # or starts with "<drive letter>:"
    #
    # in: nativeName
    #
    proc tixFSIsAbsPath {nativeName} {
	set ptype [file pathtype $nativename]
	return [expr {$ptype eq "absolute" || $ptype eq "volumerelative"}]
    }

    # tixFSIsValid --
    #
    #	Checks whether a native pathname contains invalid characters.
    #
    proc tixFSIsValid {path} {
	#if {$::tcl_platform(platform) eq "windows"} {set bad "\\/:*?\"<>|\0"}
	return 1
    }

    proc tixFSExternal {path} {
	# Avoid normalization on root adding unwanted volumerelative pwd
	if {[string match -nocase {[A-Z]:} $path]} {
	    return $path/
	}
	return [file normalize $path]
    }

    proc tixFSInternal {path} {
	# Only need to watch for ^[A-Z]:/$, but this does the trick
	return [string trimright [file normalize $path] /]
    }

} else {

    ##
    ## UNIX
    ##

    proc tixFSIsAbsPath {path} {
	return [string match {[~/]*} $path]
    }

    # tixFSIsValid --
    #
    #	Checks whether a native pathname contains invalid characters.
    #
    proc tixFSIsValid {path} { return 1 }

    proc tixFSExternal {path} { return $path }
    proc tixFSInternal {path} { return $path }

}
PKqm�[��i��Tix8.4.3/StackWin.tclnu�[���# -*- mode: TCL; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*-
#
#	$Id: StackWin.tcl,v 1.3 2004/03/28 02:44:57 hobbs Exp $
#
# StackWin.tcl --
#
#	Similar to NoteBook but uses a Select widget to represent the pages.
#
# Copyright (c) 1993-1999 Ioi Kim Lam.
# Copyright (c) 2000-2001 Tix Project Group.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#

tixWidgetClass tixStackWindow {
    -classname TixStackWindow
    -superclass tixVStack
    -method {
    }
    -flag {
    }
    -configspec {
    }
}

proc tixStackWindow:ConstructWidget {w} {
    upvar #0 $w data

    tixChainMethod $w ConstructWidget

    set data(w:tabs) [tixSelect $w.tabs]

    # We can't use the packer because it will conflict with the
    # geometry management of the VStack widget.
    #
    tixManageGeometry $data(w:tabs) [list tixVStack:ClientGeomProc $w]
}

proc tixStackWindow:add {w child args} {
    upvar #0 $w data

    set ret [eval [list tixChainMethod $w add $child] $args]

    # Find out the -label option
    #
    foreach {flag value} $args {
	if {$flag eq "-label"} {
	    set label $value
	}
    }

    $data(w:tabs) add $child -command [list $w raise $child] -text $label

    return $ret
}

proc tixStackWindow:raise {w child} {
    upvar #0 $w data

    $data(w:tabs) config -value $child

    tixChainMethod $w raise $child
}

proc tixStackWindow:Resize {w} {
    upvar #0 $w data

    # We have to take care of the size of the tabs so that 
    #
    set tW [winfo reqwidth  $data(w:tabs)]
    set tH [winfo reqheight $data(w:tabs)]

    tixMoveResizeWindow $data(w:tabs) $data(-ipadx) $data(-ipady) $tW $tH
    tixMapWindow $data(w:tabs)

    set data(pad-y1) [expr $tH + $data(-ipadx)]
    set data(minW)   [expr $tW + 2 * $data(-ipadx)]
    set data(minH)   [expr $tH + 2 * $data(-ipady)]

    # Now that we know data(pad-y1), we can chain the call
    #
    tixChainMethod $w Resize
}
PKqm�[���Tix8.4.3/license.termsnu�[���Copyright (c) 1993-1999 Ioi Kim Lam.
Copyright (c) 2000-2001 Tix Project Group.
Copyright (c) 2004 ActiveState

This software is copyrighted by the above entities
and other parties.  The following terms apply to all files associated
with the software unless explicitly disclaimed in individual files.

The authors hereby grant permission to use, copy, modify, distribute,
and license this software and its documentation for any purpose, provided
that existing copyright notices are retained in all copies and that this
notice is included verbatim in any distributions. No written agreement,
license, or royalty fee is required for any of the authorized uses.
Modifications to this software may be copyrighted by their authors
and need not follow the licensing terms described here, provided that
the new terms are clearly indicated on the first page of each file where
they apply.

IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY
FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
ARISING OUT OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY
DERIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.

THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES,
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT.  THIS SOFTWARE
IS PROVIDED ON AN "AS IS" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE
NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR
MODIFICATIONS.

GOVERNMENT USE: If you are acquiring this software on behalf of the
U.S. government, the Government shall have only "Restricted Rights"
in the software and related documentation as defined in the Federal 
Acquisition Regulations (FARs) in Clause 52.227.19 (c) (2).  If you
are acquiring the software on behalf of the Department of Defense, the
software shall be classified as "Commercial Computer Software" and the
Government shall have only "Restricted Rights" as defined in Clause
252.227-7013 (c) (1) of DFARs.  Notwithstanding the foregoing, the
authors grant the U.S. Government and others acting in its behalf
permission to use and distribute the software in accordance with the
terms specified in this license. 

----------------------------------------------------------------------

Parts of this software are based on the Tcl/Tk software copyrighted by
the Regents of the University of California, Sun Microsystems, Inc.,
and other parties. The original license terms of the Tcl/Tk software
distribution is included in the file docs/license.tcltk.

Parts of this software are based on the HTML Library software
copyrighted by Sun Microsystems, Inc. The original license terms of
the HTML Library software distribution is included in the file
docs/license.html_lib.
PKqm�[����
�
Tix8.4.3/ListNBk.tclnu�[���# -*- mode: TCL; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*-
#
#	$Id: ListNBk.tcl,v 1.5 2004/03/28 02:44:57 hobbs Exp $
#
# ListNBk.tcl --
#
#	"List NoteBook" widget. Acts similarly to the notebook but uses a
#	HList widget to represent the pages.
#
# Copyright (c) 1993-1999 Ioi Kim Lam.
# Copyright (c) 2000-2001 Tix Project Group.
# Copyright (c) 2004 ActiveState
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#

tixWidgetClass tixListNoteBook {
    -classname TixListNoteBook
    -superclass tixVStack
    -method {
    }
    -flag {
	-height -width
    }
    -configspec {
	{-width width Width 0}
	{-height height Height 0}
    }
    -forcecall {
	-dynamicgeometry -width -height
    }
    -default {
	{*Orientation		horizontal}
    }
}

proc tixListNoteBook:ConstructWidget {w} {
    upvar #0 $w data

    tixChainMethod $w ConstructWidget
    set data(w_pane) [tixPanedWindow $w.pane -panerelief flat]
    set p1 [$data(w_pane) add p1 -expand 0]
    set p2 [$data(w_pane) add p2 -expand 1]
    set data(w_p2) $p2
    set data(w:shlist) [tixScrolledHList $p1.shlist]
    set data(w:hlist) [$data(w:shlist) subwidget hlist]

    if {[$data(w_pane) cget -orientation] eq "vertical"} {
	pack $data(w:shlist) -expand yes -fill both -padx 2 -pady 3
    } else {
	pack $data(w:shlist) -expand yes -fill both -padx 3 -pady 2
    }

    $data(w:hlist) config \
	-command   [list tixListNoteBook:Choose $w] \
	-browsecmd [list tixListNoteBook:Choose $w] \
	-selectmode single

    pack $data(w_pane) -expand yes -fill both
}

proc tixListNoteBook:add {w child args} {
    upvar #0 $w data

    if {[string match *.* $child]} {
	error "the name of the page cannot contain the \".\" character"
    }
    return [eval tixChainMethod $w add $child $args]
}

#----------------------------------------------------------------------
# Virtual Methods
#----------------------------------------------------------------------
proc tixListNoteBook:InitGeometryManager {w} {
    tixWidgetDoWhenIdle tixListNoteBook:InitialRaise $w
}

proc tixListNoteBook:InitialRaise {w} {
    upvar #0 $w data

    if {$data(topchild) eq ""} {
	set top [lindex $data(windows) 0]
    } else {
	set top $data(topchild)
    }

    if {$top ne ""} {
	tixCallMethod $w raise $top
    }
}

proc tixListNoteBook:CreateChildFrame {w child} {
    upvar #0 $w data
    return [frame $data(w_p2).$child]
}

proc tixListNoteBook:RaiseChildFrame {w child} {
    upvar #0 $w data

    if {$data(topchild) ne $child} {
	if {$data(topchild) ne ""} {
	    pack forget $data(w:$data(topchild))
	}
	pack $data(w:$child) -expand yes -fill both
    }
}

#
#----------------------------------------------------------------------
#

proc tixListNoteBook:config-dynamicgeometry {w value} {
    upvar #0 $w data

    $data(w_pane) config -dynamicgeometry $value
}

proc tixListNoteBook:config-width {w value} {
    upvar #0 $w data

    if {$value != 0} {
	$data(w_pane) config -width $value
    }
}

proc tixListNoteBook:config-height {w value} {
    upvar #0 $w data

    if {$value != 0} {
	$data(w_pane) config -height $value
    }
}

proc tixListNoteBook:raise {w child} {
    upvar #0 $w data

    $data(w:hlist) selection clear
    $data(w:hlist) selection set $child
    $data(w:hlist) anchor set $child

    tixChainMethod $w raise $child
}

proc tixListNoteBook:Choose {w args} {
    upvar #0 $w data

    set entry [tixEvent flag V]

    if {[lsearch $data(windows) $entry] != -1} {
	tixCallMethod $w raise $entry
    }
}
PKqm�[ͼ���Tix8.4.3/SListBox.tclnu�[���# -*- mode: TCL; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*-
#
#	$Id: SListBox.tcl,v 1.5 2004/03/28 02:44:57 hobbs Exp $
#
# SListBox.tcl --
#
#	This file implements Scrolled Listbox widgets
#
# Copyright (c) 1993-1999 Ioi Kim Lam.
# Copyright (c) 2000-2001 Tix Project Group.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#


# ToDo:
# -anchor (none)
#

tixWidgetClass tixScrolledListBox {
    -classname TixScrolledListBox
    -superclass tixScrolledWidget
    -method {
    }
    -flag {
	-anchor -browsecmd -command -state
    }
    -static {
	-anchor
    }
    -configspec {
	{-anchor anchor Anchor w}
	{-browsecmd browseCmd BrowseCmd ""}
	{-command command Command ""}
	{-state state State normal}
	{-takefocus takeFocus TakeFocus 1 tixVerifyBoolean}
    }
    -default {
	{.scrollbar			auto}
	{*borderWidth			1}
	{*listbox.highlightBackground	#d9d9d9}
	{*listbox.relief		sunken}
	{*listbox.background		#c3c3c3}
	{*listbox.takeFocus		1}
	{*Scrollbar.takeFocus		0}
    }
}

proc tixScrolledListBox:InitWidgetRec {w} {
    upvar #0 $w data

    tixChainMethod $w InitWidgetRec

    set data(x-first) 0
    set data(x-last)  1
    set data(y-first) 0
    set data(y-last)  1
}

proc tixScrolledListBox:ConstructWidget {w} {
    upvar #0 $w data

    tixChainMethod $w ConstructWidget

    set data(w:listbox) \
	[listbox $w.listbox]
    set data(w:hsb) \
	[scrollbar $w.hsb -orient horizontal]
    set data(w:vsb) \
	[scrollbar $w.vsb -orient vertical ]

    set data(pw:client) $data(w:listbox)
}

proc tixScrolledListBox:SetBindings {w} {
    upvar #0 $w data

    tixChainMethod $w SetBindings

    $data(w:listbox) config \
	-xscrollcommand "tixScrolledListBox:XView $w"\
	-yscrollcommand "tixScrolledListBox:YView $w"

    $data(w:hsb) config -command "$data(w:listbox) xview"
    $data(w:vsb) config -command "$data(w:listbox) yview"

    bind $w <Configure> "+tixScrolledListBox:Configure $w"
    bind $w <FocusIn> "focus $data(w:listbox)"

    bindtags $data(w:listbox) \
    "$data(w:listbox) TixListboxState Listbox TixListbox [winfo toplevel $data(w:listbox)] all"
    tixSetMegaWidget $data(w:listbox) $w
}

proc tixScrolledListBoxBind {} {
    tixBind TixListboxState <1> {
	if {[set [tixGetMegaWidget %W](-state)] eq "disabled"} {
	    break
	}
    }
    tixBind TixListbox      <1> {
	if {[string is true -strict [%W cget -takefocus]]} {
	    focus %W
	}
	tixScrolledListBox:Browse [tixGetMegaWidget %W]
    }

    tixBind TixListboxState <B1-Motion> {
	if {[set [tixGetMegaWidget %W](-state)] eq "disabled"} {
	    break
	}
    }
    tixBind TixListbox      <B1-Motion> {
	tixScrolledListBox:Browse [tixGetMegaWidget %W]
    }

    tixBind TixListboxState <Up> {
	if {[set [tixGetMegaWidget %W](-state)] eq "disabled"} {
	    break
	}
    }
    tixBind TixListbox      <Up> {
	tixScrolledListBox:KeyBrowse [tixGetMegaWidget %W]
    }

    tixBind TixListboxState <Down> {
	if {[set [tixGetMegaWidget %W](-state)] eq "disabled"} {
	    break
	}
    }
    tixBind TixListbox      <Down> {
	tixScrolledListBox:KeyBrowse [tixGetMegaWidget %W]
    }

    tixBind TixListboxState <Return> {
	if {[set [tixGetMegaWidget %W](-state)] eq "disabled"} {
	    break
	}
    }
    tixBind TixListbox      <Return> {
	tixScrolledListBox:KeyInvoke [tixGetMegaWidget %W]
    }


    tixBind TixListboxState <Double-1> {
	if {[set [tixGetMegaWidget %W](-state)] eq "disabled"} {
	    break
	}
    }
    tixBind TixListbox      <Double-1> {
	tixScrolledListBox:Invoke [tixGetMegaWidget %W]
    }

    tixBind TixListboxState <ButtonRelease-1> {
	if {[set [tixGetMegaWidget %W](-state)] eq "disabled"} {
	    break
	}
    }
    tixBind TixListbox      <ButtonRelease-1> {
	tixScrolledListBox:Browse [tixGetMegaWidget %W]
    }
}

proc tixScrolledListBox:Browse {w} {
    upvar #0 $w data

    if {$data(-browsecmd) != ""} {
	set bind(specs) {%V}
	set bind(%V) [$data(w:listbox) get \
	    [$data(w:listbox) nearest [tixEvent flag y]]]
	tixEvalCmdBinding $w $data(-browsecmd) bind
    }
}

proc tixScrolledListBox:KeyBrowse {w} {
    upvar #0 $w data

    if {$data(-browsecmd) != ""} {
	set bind(specs) {%V}
	set bind(%V) [$data(w:listbox) get active]
	tixEvalCmdBinding $w $data(-browsecmd) bind
    }
}

# tixScrolledListBox:Invoke --
#
#	The user has invoked the listbox by pressing either the <Returh>
# key or double-clicking. Call the user-supplied -command function.
#
# For both -browsecmd and -command, it is the responsibility of the
# user-supplied function to determine the current selection of the listbox
# 
proc tixScrolledListBox:Invoke {w} {
    upvar #0 $w data

    if {$data(-command) != ""} {
	set bind(specs) {%V}
	set bind(%V) [$data(w:listbox) get \
	    [$data(w:listbox) nearest [tixEvent flag y]]]
	tixEvalCmdBinding $w $data(-command) bind
    }
}

proc tixScrolledListBox:KeyInvoke {w} {
    upvar #0 $w data

    if {$data(-command) != ""} {
	set bind(specs) {%V}
	set bind(%V) [$data(w:listbox) get active]
	tixEvalCmdBinding $w $data(-command) bind
    }
}

#----------------------------------------------------------------------
#
#		option configs
#----------------------------------------------------------------------
proc tixScrolledListBox:config-takefocus {w value} {
    upvar #0 $w data
    $data(w:listbox) config -takefocus $value
}


#----------------------------------------------------------------------
#
#		Widget commands
#----------------------------------------------------------------------


#----------------------------------------------------------------------
#
#		Private Methods
#----------------------------------------------------------------------
proc tixScrolledListBox:XView {w first last} {
    upvar #0 $w data

    set data(x-first) $first
    set data(x-last) $last

    $data(w:hsb) set $first $last
    tixWidgetDoWhenIdle tixScrolledWidget:Configure $w


}

proc tixScrolledListBox:YView {w first last} {
    upvar #0 $w data

    set data(y-first) $first
    set data(y-last) $last

    $data(w:vsb) set $first $last
    tixWidgetDoWhenIdle tixScrolledWidget:Configure $w

    # Somehow an update here must be used to advoid osscilation
    #
    update idletasks
}

#
#----------------------------------------------------------------------
# virtual functions to query the client window's scroll requirement
#----------------------------------------------------------------------
proc tixScrolledListBox:GeometryInfo {w mW mH} {
    upvar #0 $w data

    return [list \
	[list $data(x-first) $data(x-last)]\
	[list $data(y-first) $data(y-last)]]
}

proc tixScrolledListBox:Configure {w} {
    upvar #0 $w data

    tixWidgetDoWhenIdle tixScrolledListBox:TrickScrollbar $w

    if {$data(-anchor) eq "e"} {
	$data(w:listbox) xview 100000
    }
}

# This procedure is necessary because listbox does not call x,y scroll command
# when its size is changed
#
proc tixScrolledListBox:TrickScrollbar {w} {
    upvar #0 $w data

    set inc [$data(w:listbox) select include 0]

    $data(w:listbox) select set 0
    if {!$inc} {
	$data(w:listbox) select clear 0
    }
}
PKqm�[?Y-.��Tix8.4.3/SWindow.tclnu�[���# -*- mode: TCL; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*-
#
#	$Id: SWindow.tcl,v 1.4 2001/12/09 05:04:02 idiscovery Exp $
#
# SWindow.tcl --
#
#	This file implements Scrolled Window widgets
#
# Copyright (c) 1993-1999 Ioi Kim Lam.
# Copyright (c) 2000-2001 Tix Project Group.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#

#
#
# Example:
#	
#	tixScrolledWindow .w
#	set window [.w subwidget window]
#		# Now you can put a whole widget hierachy inside $window.
#		#
#	button $window.b
#	pack $window.b
#
# Author's note
#
# Note, the current implementation does not allow the child window
# to be outside of the parent window when the parent's size is larger
# than the child's size. This is fine for normal operations. However,
# it is not suitable for an MDI master window. Therefore, you will notice
# that the MDI master window is not a subclass of ScrolledWidget at all.
#
#

tixWidgetClass tixScrolledWindow {
    -classname TixScrolledWindow
    -superclass tixScrolledWidget
    -method {
    }
    -flag {
	-expandmode -shrink -xscrollincrement -yscrollincrement
    }
    -static {
    }
    -configspec {
	{-expandmode expandMode ExpandMode expand}
	{-shrink shrink Shrink ""}
	{-xscrollincrement xScrollIncrement ScrollIncrement ""}
	{-yscrollincrement yScrollIncrement ScrollIncrement ""}

	{-scrollbarspace scrollbarSpace ScrollbarSpace {both}}
    }
    -default {
	{.scrollbar			auto}
	{*window.borderWidth		1}
	{*f1.borderWidth		1}
	{*Scrollbar.borderWidth		1}
	{*Scrollbar.takeFocus		0}
    }
}

proc tixScrolledWindow:InitWidgetRec {w} {
    upvar #0 $w data

    tixChainMethod $w InitWidgetRec

    set data(dx) 0
    set data(dy) 0
}

proc tixScrolledWindow:ConstructWidget {w} {
    upvar #0 $w data
    global tcl_platform

    tixChainMethod $w ConstructWidget

    set data(pw:f1) \
	[frame $w.f1 -relief sunken]
    set data(pw:f2) \
	[frame $w.f2 -bd 0]
    set data(w:window) \
	[frame $w.f2.window -bd 0]
    pack $data(pw:f2) -in $data(pw:f1) -expand yes -fill both

    set data(w:hsb) \
	[scrollbar $w.hsb -orient horizontal -takefocus 0]
    set data(w:vsb) \
	[scrollbar $w.vsb -orient vertical -takefocus 0]
#   set data(w:pann) \
#	[frame $w.pann -bd 2 -relief groove]
    
    $data(pw:f1) config -highlightthickness \
	[$data(w:hsb) cget -highlightthickness]

    set data(pw:client) $data(pw:f1)
}

proc tixScrolledWindow:SetBindings {w} {
    upvar #0 $w data

    tixChainMethod $w SetBindings

    $data(w:hsb) config -command "tixScrolledWindow:ScrollBarCB $w x"
    $data(w:vsb) config -command "tixScrolledWindow:ScrollBarCB $w y"

    tixManageGeometry $data(w:window) "tixScrolledWindow:WindowGeomProc $w"
}

# This guy just keeps asking for a same size as the w:window 
#
proc tixScrolledWindow:WindowGeomProc {w args} {
    upvar #0 $w data

    set rw [winfo reqwidth  $data(w:window)]
    set rh [winfo reqheight $data(w:window)]

    if {$rw != [winfo reqwidth  $data(pw:f2)] ||
	$rh != [winfo reqheight $data(pw:f2)]} {
	tixGeometryRequest $data(pw:f2) $rw $rh
    }
}

proc tixScrolledWindow:Scroll {w axis total window first args} {
    upvar #0 $w data

    case [lindex $args 0] {
	"scroll" {
	    set amt  [lindex $args 1]
	    set unit [lindex $args 2]

	    case $unit {
		"units" {
		    set incr $axis\scrollincrement
		    if {$data(-$incr) != ""} {
			set by $data(-$incr)
		    } else {
			set by [expr $window / 16]
		    }
		    set first [expr $first + $amt * $by]
		}
		"pages" {
		    set first [expr $first + $amt * $window]
		}
	    }
	}
	"moveto" {
	    set to [lindex $args 1]
	    set first [expr int($to * $total)]
	}
    }

    if {[expr $first + $window] > $total} {
	set first [expr $total - $window]
    }
    if {$first < 0} {
	set first 0
    }

    return $first
}

proc tixScrolledWindow:ScrollBarCB {w axis args} {
    upvar #0 $w data

    set bd \
       [expr [$data(pw:f1) cget -bd] + [$data(pw:f1) cget -highlightthickness]]
    set fw [expr [winfo width  $data(pw:f1)] - 2*$bd]
    set fh [expr [winfo height $data(pw:f1)] - 2*$bd]
    set ww [winfo reqwidth  $data(w:window)]
    set wh [winfo reqheight $data(w:window)]

    if {$axis == "x"} {
	set data(dx) \
	    [eval tixScrolledWindow:Scroll $w $axis $ww $fw $data(dx) $args]
    } else {
	set data(dy) \
	    [eval tixScrolledWindow:Scroll $w $axis $wh $fh $data(dy) $args]
    }

    tixWidgetDoWhenIdle tixScrolledWindow:PlaceWindow $w
}

proc tixScrolledWindow:PlaceWindow {w} {
    upvar #0 $w data

    set bd \
       [expr [$data(pw:f1) cget -bd] + [$data(pw:f1) cget -highlightthickness]]
    set fw [expr [winfo width  $data(pw:f1)] - 2*$bd]
    set fh [expr [winfo height $data(pw:f1)] - 2*$bd]
    set ww [winfo reqwidth  $data(w:window)]
    set wh [winfo reqheight $data(w:window)]

    tixMapWindow $data(w:window)

    if {$data(-expandmode) == "expand"} {
	if {$ww < $fw} {
	    set ww $fw
	}
	if {$wh < $fh} {
	    set wh $fh
	}
    }
    if {$data(-shrink) == "x"} {
	if {$fw < $ww} {
	    set ww $fw
	}
    }

    tixMoveResizeWindow $data(w:window) -$data(dx) -$data(dy) $ww $wh

    set first [expr $data(dx).0 / $ww.0]
    set last  [expr $first + ($fw.0 / $ww.0)]
    $data(w:hsb) set $first $last

    set first [expr $data(dy).0 / $wh.0]
    set last  [expr $first + ($fh.0 / $wh.0)]
    $data(w:vsb) set $first $last
}

#----------------------------------------------------------------------
# virtual functions to query the client window's scroll requirement
#
# When this function is called, the scrolled window is going to be
# mapped, if it is still unmapped. Also, it is going to change its
# size. Therefore, it is a good time to check whether the w:window needs
# to be re-positioned due to the new parent window size.
#----------------------------------------------------------------------
proc tixScrolledWindow:GeometryInfo {w mW mH} {
    upvar #0 $w data

    set bd \
       [expr [$data(pw:f1) cget -bd] + [$data(pw:f1) cget -highlightthickness]]
    set fw [expr $mW -2*$bd]
    set fh [expr $mH -2*$bd]
    set ww [winfo reqwidth  $data(w:window)]
    set wh [winfo reqheight $data(w:window)]

    # Calculate the X info
    #
    if {$fw >= $ww} {
	if {$data(dx) > 0} {
	    set data(dx) 0
	}
	set xinfo [list 0.0 1.0]
    } else {
	set maxdx [expr $ww - $fw]
	if {$data(dx) > $maxdx} {
	    set data(dx) $maxdx
	}
	set first [expr $data(dx).0 / $ww.0]
	set last  [expr $first + ($fw.0 / $ww.0)]
	set xinfo [list $first $last]
    }
    # Calculate the Y info
    #
    if {$fh >= $wh} {
	if {$data(dy) > 0} {
	    set data(dy) 0
	}
	set yinfo [list 0.0 1.0]
    } else {
	set maxdy [expr $wh - $fh]
	if {$data(dy) > $maxdy} {
	    set data(dy) $maxdy
	}
	set first [expr $data(dy).0 / $wh.0]
	set last  [expr $first + ($fh.0 / $wh.0)]
	set yinfo [list $first $last]
    }

    return [list $xinfo $yinfo]
}
PKqm�[��N��Tix8.4.3/README.txtnu�[���
   Tix 8.4.3 for Tcl 8.4+
   
                       Tix Documentation Master Index

   This file is the master index of all the documentation included in
   this package. For additional information about Tix, please visit the
   Tix Home Page at

	http://tix.sourceforge.net/

   or join the mailing lists there.

     * ABOUT.html        A brief description of Tix.
     * docs/Release.html Release notes on this version of Tix.
     * unix/README.txt   Compiling and installing Tix under Unix.
     * win/README.txt    Compiling and installing Tix under Windows.
     * docs/html/TixUser/TixUser.html Tix Users's Guide.
     * Programming with Tix:
          + Tix Programmer's Guide.
          + Using Tix Stand Alone Modules (SAM).
     * docs/FAQ.html     The Tix Frequent Asked Questions.
     * ChangeLog.txt     Changes made to Tix since the previous release.
     * man/index.html    Programmer's Reference Manual.

   Versions of Tcl/Tk prior to 8.4 are no longer supported.
PKqm�[
�T��Tix8.4.3/WInfo.tclnu�[���# -*- mode: TCL; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*-
#
#	$Id: WInfo.tcl,v 1.2 2001/12/09 05:04:02 idiscovery Exp $
#
# WInfo.tcl --
#
#	This file implements the command tixWInfo, which return various
#	information about a Tix widget.
#
# Copyright (c) 1993-1999 Ioi Kim Lam.
# Copyright (c) 2000-2001 Tix Project Group.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#

proc tixWInfo {option w} {
    upvar #0 $w data

    case $option {
	tix {
	    # Is this a Tix widget?
	    #
	    return [info exists data(className)]
	}
	compound {
	    # Is this a compound widget?
	    #	Currently this is the same as "tixWinfo tix" because only
	    # Tix compilant compound widgets are supported
	    return [info exists data(className)]
	}
	class {
	    if {[info exists data(className)]} {
		return $data(className)
	    } else {
		return ""
	    }
	}
    }
}
PKqm�[�C �|	|	Tix8.4.3/STList.tclnu�[���# -*- mode: TCL; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*-
#
#	$Id: STList.tcl,v 1.4 2001/12/09 05:04:02 idiscovery Exp $
#
# STList.tcl --
#
#	This file implements Scrolled TList widgets
#
# Copyright (c) 1993-1999 Ioi Kim Lam.
# Copyright (c) 2000-2001 Tix Project Group.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#

tixWidgetClass tixScrolledTList {
    -classname TixScrolledTList
    -superclass tixScrolledWidget
    -method {
    }
    -flag {
    }
    -configspec {
    }
    -default {
	{.scrollbar			auto}
	{*borderWidth			1}
	{*tlist.background		#c3c3c3}
	{*tlist.highlightBackground	#d9d9d9}
	{*tlist.relief			sunken}
	{*tlist.takeFocus		1}
	{*Scrollbar.takeFocus		0}
    }
}

proc tixScrolledTList:ConstructWidget {w} {
    upvar #0 $w data

    tixChainMethod $w ConstructWidget

    set data(w:tlist) \
	[tixTList $w.tlist]
    set data(w:hsb) \
	[scrollbar $w.hsb -orient horizontal]
    set data(w:vsb) \
	[scrollbar $w.vsb -orient vertical ]

    set data(pw:client) $data(w:tlist)
}

proc tixScrolledTList:SetBindings {w} {
    upvar #0 $w data

    tixChainMethod $w SetBindings

    $data(w:tlist) config \
	-xscrollcommand "$data(w:hsb) set"\
	-yscrollcommand "$data(w:vsb) set"\
	-sizecmd [list tixScrolledWidget:Configure $w]

    $data(w:hsb) config -command "$data(w:tlist) xview"
    $data(w:vsb) config -command "$data(w:tlist) yview"
}

#----------------------------------------------------------------------
#
#		option configs
#----------------------------------------------------------------------
proc tixScrolledTList:config-takefocus {w value} {
    upvar #0 $w data
  
    $data(w:tlist) config -takefocus $value
}	

#----------------------------------------------------------------------
#
#		Widget commands
#----------------------------------------------------------------------


#----------------------------------------------------------------------
#
#		Private Methods
#----------------------------------------------------------------------

#----------------------------------------------------------------------
# virtual functions to query the client window's scroll requirement
#----------------------------------------------------------------------
proc tixScrolledTList:GeometryInfo {w mW mH} {
    upvar #0 $w data

    return [$data(w:tlist) geometryinfo $mW $mH]
}
PKqm�[<K6=�	�	Tix8.4.3/FileCbx.tclnu�[���# -*- mode: TCL; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*-
#
#	$Id: FileCbx.tcl,v 1.5 2004/03/28 02:44:57 hobbs Exp $
#
# tixFileCombobox --
#
#	A combobox widget for entering file names, directory names, file
#	patterns, etc.
#
#
# Copyright (c) 1993-1999 Ioi Kim Lam.
# Copyright (c) 2000-2001 Tix Project Group.
# Copyright (c) 2004 ActiveState
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.

# tixFileComboBox displays and accepts the DOS pathnames only. It doesn't
# recognize UNC file names or Tix VPATHS.
#
tixWidgetClass tixFileComboBox {
    -classname TixFileComboBox
    -superclass tixPrimitive
    -method {
	invoke
    }
    -flag {
	-command -defaultfile -directory -text
    }
    -forcecall {
	-directory
    }
    -configspec {
	{-defaultfile defaultFile DefaultFile ""}
	{-directory directory Directory ""}
	{-command command Command ""}
	{-text text Text ""}
    }
    -default {
    }
}

proc tixFileComboBox:InitWidgetRec {w} {
    upvar #0 $w data

    tixChainMethod $w InitWidgetRec

    if {$data(-directory) eq ""} {
	set data(-directory) [pwd]
    }
}

proc tixFileComboBox:ConstructWidget {w} {
    upvar #0 $w data

    tixChainMethod $w ConstructWidget
    set data(w:combo) [tixComboBox $w.combo -editable true -dropdown true]
    pack $data(w:combo) -expand yes -fill both
}

proc tixFileComboBox:SetBindings {w} {
    upvar #0 $w data

    tixChainMethod $w SetBindings
    $data(w:combo) config -command [list tixFileComboBox:OnComboCmd $w]
}

proc tixFileComboBox:OnComboCmd {w args} {
    upvar #0 $w data

    set text [string trim [tixEvent value]]

    set path [tixFSJoin $data(-directory) $text]
    if {[file isdirectory $path]} {
	set path [tixFSJoin $path $data(-defaultfile)]
	set tail $data(-defaultfile)
    } else {
	set tail [file tail $path]
    }
    set norm [tixFSNormalize $path]
    tixSetSilent $data(w:combo) $norm
    if {[llength $data(-command)]} {
	set bind(specs) {%V}
	set bind(%V)    [list $norm $path $tail ""]
	tixEvalCmdBinding $w $data(-command) bind $bind(%V)
    }
}

proc tixFileComboBox:config-text {w val} {
    upvar #0 $w data

    tixSetSilent $data(w:combo) $val
}

proc tixFileComboBox:config-directory {w val} {
    upvar #0 $w data

    set data(-directory) [tixFSNormalize $val]
    return $data(-directory)
}

proc tixFileComboBox:invoke {w} {
    upvar #0 $w data

    $data(w:combo) invoke
}


PKqm�[ި����Tix8.4.3/HListDD.tclnu�[���# -*- mode: TCL; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*-
#
#	$Id: HListDD.tcl,v 1.3 2001/12/09 05:04:02 idiscovery Exp $
#
# HListDD.tcl --
#
#	!!! PRE-ALPHA CODE, NOT USED, DON'T USE !!!
#
#	This file implements drag+drop for HList.
#
# Copyright (c) 1993-1999 Ioi Kim Lam.
# Copyright (c) 2000-2001 Tix Project Group.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#

#
# events
#
#

proc tixHListSingle:DragTimer {w ent} {
    case [tixHListSingle:GetState $w] {
	{1} {
	    # fire up
	}
    }
}





#----------------------------------------------------------------------
#
#		    Drag + Drop Bindings
#
#----------------------------------------------------------------------

	     #----------------------------------------#
	     #	          Sending Actions	      #
	     #----------------------------------------#

#----------------------------------------------------------------------
#  tixHListSingle:Send:WaitDrag --
#
#	Sender wait for dragging action
#----------------------------------------------------------------------
proc tixHListSingle:Send:WaitDrag {w x y} {
    global tixPriv

    set ent [tixHListSingle:GetNearest $w $y]
    if {$ent != ""} {
	$w anchor set $ent
	$w select clear
	$w select set $ent
 
	set tixPriv(dd,$w:moved) 0
	set tixPriv(dd,$w:entry) $ent

#	set browsecmd [$w cget -browsecmd]
#	if {$browsecmd != "" && $ent != ""} {
#	    eval $browsecmd $ent
#	}
    }
}

proc tixHListSingle:Send:StartDrag {w x y} {
    global tixPriv
    set dd [tixGetDragDropContext $w]

    if {![info exists tixPriv(dd,$w:entry)]} {
	return
    }
    if {$tixPriv(dd,$w:entry) == ""} {
	return
    }

    if {$tixPriv(dd,$w:moved) == 0} {
	$w dragsite set $tixPriv(dd,$w:entry)
	set tixPriv(dd,$w:moved) 1
	$dd config -source $w -command [list tixHListSingle:Send:Cmd $w]
	$dd startdrag $X $Y
    } else {
	$dd drag $X $Y
    }
}

proc tixHListSingle:Send:DoneDrag {w x y} {
    global tixPriv
    global moved

    if {![info exists tixPriv(dd,$w:entry)]} {
	return
    }
    if {$tixPriv(dd,$w:entry) == ""} {
	return
    }

    if {$tixPriv(dd,$w:moved) == 1} {
	set dd [tixGetDragDropContext $w]
	$dd drop $X $Y
    }
    $w dragsite clear
    catch {unset tixPriv(dd,$w:moved)}
    catch {unset tixPriv(dd,$w:entry)}
}

proc tixHListSingle:Send:Cmd {w option args} {
    set dragCmd [$w cget -dragcmd]
    if {$dragCmd != ""} {
	return [eval $dragCmd $option $args]
    }

    # Perform the default action
    #
    case "$option" {
	who {
	    return $w
	}
	types {
	    return {data text}
	}
	get {
	    global tixPriv
	    if {[lindex $args 0] == "text"} {
		if {$tixPriv(dd,$w:entry) != ""} {
		    return [$w entrycget $tixPriv(dd,$w:entry) -text]
		}
	    }
	    if {[lindex $args 0] == "data"} {
		if {$tixPriv(dd,$w:entry) != ""} {
		    return [$w entrycget $tixPriv(dd,$w:entry) -data]
		}
	    }
	}
    }
}

	     #----------------------------------------#
	     #	          Receiving Actions	      #
	     #----------------------------------------#
proc tixHListSingle:Rec:DragOver {w sender x y} {
    if {[$w cget -selectmode] != "dragdrop"} {
	return
    }

    set ent [tixHListSingle:GetNearest $w $y]
    if {$ent != ""} {
	$w dropsite set $ent
    } else {
	$w dropsite clear
    }
}

proc tixHListSingle:Rec:DragIn {w sender x y} {
    if {[$w cget -selectmode] != "dragdrop"} {
	return
    }
    set ent [tixHListSingle:GetNearest $w $y]
    if {$ent != ""} {
	$w dropsite set $ent
    } else {
	$w dropsite clear
    }
}

proc tixHListSingle:Rec:DragOut {w sender x y} {
    if {[$w cget -selectmode] != "dragdrop"} {
	return
    }
    $w dropsite clear
}

proc tixHListSingle:Rec:Drop {w sender x y} {
    if {[$w cget -selectmode] != "dragdrop"} {
	return
    }
    $w dropsite clear

    set ent [tixHListSingle:GetNearest $w $y]
    if {$ent != ""} {
	$w anchor set $ent
	$w select clear
	$w select set $ent
    }
 
    set dropCmd [$w cget -dropcmd]
    if {$dropCmd != ""} {
	eval $dropCmd $sender $x $y
	return
    }

#    set browsecmd [$w cget -browsecmd]
#    if {$browsecmd != "" && $ent != ""} {
#	eval $browsecmd [list $ent]
#    }
}

tixDropBind TixHListSingle <In>   "tixHListSingle:Rec:DragIn %W %S %x %y"
tixDropBind TixHListSingle <Over> "tixHListSingle:Rec:DragOver %W %S %x %y"
tixDropBind TixHListSingle <Out>  "tixHListSingle:Rec:DragOut %W %S %x %y"
tixDropBind TixHListSingle <Drop> "tixHListSingle:Rec:Drop %W %S %x %y"
PKqm�[(Cf�T�TTix8.4.3/Grid.tclnu�[���# -*- mode: TCL; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*-
#
#	$Id: Grid.tcl,v 1.6 2004/03/28 02:44:57 hobbs Exp $
#
# Grid.tcl --
#
# 	This file defines the default bindings for Tix Grid widgets.
#
# Copyright (c) 1993-1999 Ioi Kim Lam.
# Copyright (c) 2000-2001 Tix Project Group.
# Copyright (c) 2004 ActiveState
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#


global tkPriv
if {![llength [info globals tkPriv]]} {
    tk::unsupported::ExposePrivateVariable tkPriv
}
#--------------------------------------------------------------------------
# tkPriv elements used in this file:
#
# afterId -		Token returned by "after" for autoscanning.
# fakeRelease -		Cancel the ButtonRelease-1 after the user double click
#--------------------------------------------------------------------------
#
foreach fun {tkCancelRepeat} {
    if {![llength [info commands $fun]]} {
	tk::unsupported::ExposePrivateCommand $fun
    }
}
unset fun

proc tixGridBind {} {
    tixBind TixGrid <ButtonPress-1> {
	tixGrid:Button-1 %W %x %y
    }
    tixBind TixGrid <Shift-ButtonPress-1> {
	tixGrid:Shift-Button-1 %W %x %y
    }
    tixBind TixGrid <Control-ButtonPress-1> {
	tixGrid:Control-Button-1 %W %x %y
    }
    tixBind TixGrid <ButtonRelease-1> {
	tixGrid:ButtonRelease-1 %W %x %y
    }
    tixBind TixGrid <Double-ButtonPress-1> {
	tixGrid:Double-1 %W  %x %y
    }
    tixBind TixGrid <B1-Motion> {
	set tkPriv(x) %x 
	set tkPriv(y) %y
	set tkPriv(X) %X
	set tkPriv(Y) %Y

	tixGrid:B1-Motion %W %x %y
    }
    tixBind TixGrid <Control-B1-Motion> {
	set tkPriv(x) %x 
	set tkPriv(y) %y
	set tkPriv(X) %X
	set tkPriv(Y) %Y

	tixGrid:Control-B1-Motion %W %x %y
    }
    tixBind TixGrid <B1-Leave> {
	set tkPriv(x) %x 
	set tkPriv(y) %y
	set tkPriv(X) %X
	set tkPriv(Y) %Y

	tixGrid:B1-Leave %W
    }
    tixBind TixGrid <B1-Enter> {
	tixGrid:B1-Enter %W %x %y
    }
    tixBind TixGrid <Control-B1-Leave> {
	set tkPriv(x) %x 
	set tkPriv(y) %y
	set tkPriv(X) %X
	set tkPriv(Y) %Y

	tixGrid:Control-B1-Leave %W
    }
    tixBind TixGrid <Control-B1-Enter> {
	tixGrid:Control-B1-Enter %W %x %y
    }

    # Keyboard bindings
    #
    tixBind TixGrid <Up> {
	tixGrid:DirKey %W up
    }
    tixBind TixGrid <Down> {
	tixGrid:DirKey %W down
    }
    tixBind TixGrid <Left> {
	tixGrid:DirKey %W left
    }
    tixBind TixGrid <Right> {
	tixGrid:DirKey %W right
    }
    tixBind TixGrid <Prior> {
	%W yview scroll -1 pages
    }
    tixBind TixGrid <Next> {
	%W yview scroll 1 pages
    }
    tixBind TixGrid <Return> {
	tixGrid:Return %W 
    }
    tixBind TixGrid <space> {
	tixGrid:Space %W 
    }
    #
    # Don't use tixBind because %A causes Tk 8.3.2 to crash
    #
    bind TixGrid <MouseWheel> {
        %W yview scroll [expr {- (%D / 120) * 2}] units
    }
}

#----------------------------------------------------------------------
#
#
#			 Mouse bindings
#
#
#----------------------------------------------------------------------

proc tixGrid:Button-1 {w x y} {
    if {[$w cget -state] eq "disabled"} {
	return
    }
    tixGrid:SetFocus $w

    if {[tixGrid:GetState $w] == 0} {
	tixGrid:GoState 1 $w $x $y
    }
}

proc tixGrid:Shift-Button-1 {w x y} {
    if {[$w cget -state] eq "disabled"} {
	return
    }
    tixGrid:SetFocus $w
}

proc tixGrid:Control-Button-1 {w x y} {
    if {[$w cget -state] eq "disabled"} {
	return
    }
    tixGrid:SetFocus $w

    case [tixGrid:GetState $w] {
	{s0} {
	    tixGrid:GoState s1 $w $x $y
       	}
	{b0} {
	    tixGrid:GoState b1 $w $x $y
       	}
	{m0} {
	    tixGrid:GoState m1 $w $x $y
       	}
	{e0} {
	    tixGrid:GoState e10 $w $x $y
       	}
    }
}

proc tixGrid:ButtonRelease-1 {w x y} {
    case [tixGrid:GetState $w] {
	{2} {
	    tixGrid:GoState 5 $w $x $y
	}
	{4} {
	    tixGrid:GoState 3 $w $x $y
	}
    }
}

proc tixGrid:B1-Motion {w x y} {
    case [tixGrid:GetState $w] {
	{2 4} {
	    tixGrid:GoState 4 $w $x $y
	}
    }
}

proc tixGrid:Control-B1-Motion {w x y} {
    case [tixGrid:GetState $w] {
	{s2 s4} {
	    tixGrid:GoState s4 $w $x $y 
	}
	{b2 b4} {
	    tixGrid:GoState b4 $w $x $y 
	}
	{m2 m5} {
	    tixGrid:GoState m4 $w $x $y 
	}
    }
}

proc tixGrid:Double-1 {w x y} {
    case [tixGrid:GetState $w] {
	{s0} {
	    tixGrid:GoState s7 $w $x $y
	}
	{b0} {
	    tixGrid:GoState b7 $w $x $y
	}
    }
}

proc tixGrid:B1-Leave {w} {
    case [tixGrid:GetState $w] {
	{s2 s4} {
	    tixGrid:GoState s5 $w
	}
	{b2 b4} {
	    tixGrid:GoState b5 $w
	}
	{m2 m5} {
	    tixGrid:GoState m8 $w
	}
	{e2 e5} {
	    tixGrid:GoState e8 $w
	}
    }
}

proc tixGrid:B1-Enter {w x y} {
    case [tixGrid:GetState $w] {
	{s5 s6} {
	    tixGrid:GoState s4 $w $x $y
	}
	{b5 b6} {
	    tixGrid:GoState b4 $w $x $y
	}
	{m8 m9} {
	    tixGrid:GoState m4 $w $x $y
	}
	{e8 e9} {
	    tixGrid:GoState e4 $w $x $y
	}
    }
}

proc tixGrid:Control-B1-Leave {w} {
    case [tixGrid:GetState $w] {
	{s2 s4} {
	    tixGrid:GoState s5 $w
	}
	{b2 b4} {
	    tixGrid:GoState b5 $w
	}
	{m2 m5} {
	    tixGrid:GoState m8 $w
	}
    }
}

proc tixGrid:Control-B1-Enter {w x y} {
    case [tixGrid:GetState $w] {
	{s5 s6} {
	    tixGrid:GoState s4 $w $x $y
	}
	{b5 b6} {
	    tixGrid:GoState b4 $w $x $y
	}
	{m8 m9} {
	    tixGrid:GoState m4 $w $x $y
	}
    }
}

proc tixGrid:AutoScan {w} {
    case [tixGrid:GetState $w] {
	{s5 s6} {
	    tixGrid:GoState s6 $w
	}
	{b5 b6} {
	    tixGrid:GoState b6 $w
	}
	{m8 m9} {
	    tixGrid:GoState m9 $w
	}
	{e8 e9} {
	    tixGrid:GoState e9 $w
	}
    }
}

#----------------------------------------------------------------------
#
#
#			 Key bindings
#
#
#----------------------------------------------------------------------
proc tixGrid:DirKey {w key} {
    if {[$w cget -state] eq "disabled"} {
	return
    }
    case [tixGrid:GetState $w] {
	{s0} {
	    tixGrid:GoState s8 $w $key
       	}
	{b0} {
	    tixGrid:GoState b8 $w $key
       	}
    }
}

proc tixGrid:Return {w} {
    if {[$w cget -state] eq "disabled"} {
	return
    }
    case [tixGrid:GetState $w] {
	{s0} {
	    tixGrid:GoState s9 $w
       	}
	{b0} {
	    tixGrid:GoState b9 $w
       	}
    }
}

proc tixGrid:Space {w} {
    if {[$w cget -state] eq "disabled"} {
	return
    }
    case [tixGrid:GetState $w] {
	{s0} {
	    tixGrid:GoState s10 $w
       	}
 	{b0} {
	    tixGrid:GoState b10 $w
       	}
   }
}

#----------------------------------------------------------------------
#
#			STATE MANIPULATION
#
#
#----------------------------------------------------------------------
proc tixGrid:GetState {w} {
    global $w:priv:state

    if {![info exists $w:priv:state]} {
	set $w:priv:state 0
    }
    return [set $w:priv:state]
}

proc tixGrid:SetState {w n} {
    global $w:priv:state

    set $w:priv:state $n
}

proc tixGrid:GoState {n w args} {

#   puts "going from [tixGrid:GetState $w] --> $n"

    tixGrid:SetState $w $n
    eval tixGrid:GoState-$n $w $args
}

#----------------------------------------------------------------------
#		   SELECTION ROUTINES
#----------------------------------------------------------------------
proc tixGrid:SelectSingle {w ent} {
    $w selection set [lindex $ent 0] [lindex $ent 1]
    tixGrid:CallBrowseCmd $w $ent
}

#----------------------------------------------------------------------
#	SINGLE SELECTION
#----------------------------------------------------------------------
proc tixGrid:GoState-0 {w} {
    set list $w:_list
    global $list

    if {[info exists $list]} {
	foreach cmd [set $list] {
	    uplevel #0 $cmd
	}
	if {[info exists $list]} {
	    unset $list
	}
    }
}

proc tixGrid:GoState-1 {w x y} {
    set ent [$w nearest $x $y]
    if {$ent != ""} {
	tixGrid:SetAnchor $w $ent
    }
    tixGrid:CheckEdit $w
    $w selection clear 0 0 max max

    if {[$w cget -selectmode] ne "single"} {
	tixGrid:SelectSingle $w $ent
    }
    tixGrid:GoState 2 $w
}

proc tixGrid:GoState-2 {w} {
}

proc tixGrid:GoState-3 {w x y} {
    set ent [$w nearest $x $y]

    if {$ent != ""} {
	tixGrid:SelectSingle $w $ent
    }
    tixGrid:GoState 0 $w
}

proc tixGrid:GoState-5 {w x y} {
    set ent [$w nearest $x $y]

    if {$ent != ""} {
	tixGrid:SelectSingle $w $ent
	tixGrid:SetEdit $w $ent
    }
    tixGrid:GoState 0 $w
}


proc tixGrid:GoState-4 {w x y} {
    set ent [$w nearest $x $y]

    case [$w cget -selectmode] {
	single {
	    tixGrid:SetAnchor $w $ent
	}
	browse {
	    tixGrid:SetAnchor $w $ent
	    $w selection clear 0 0 max max
	    tixGrid:SelectSingle $w $ent
	}
	{multiple extended} {
	    set anchor [$w anchor get]
	    $w selection adjust [lindex $anchor 0] [lindex $anchor 1] \
		[lindex $ent 0] [lindex $ent 1]
	}
    }
}

proc tixGrid:GoState-s5 {w} {
    tixGrid:StartScan $w
}

proc tixGrid:GoState-s6 {w} {
    global tkPriv

    tixGrid:DoScan $w
}

proc tixGrid:GoState-s7 {w x y} {
    set ent [$w nearest $x $y]

    if {$ent != ""} {
	$w selection clear
	$w selection set $ent
	tixGrid:CallCommand $w $ent
    }
    tixGrid:GoState s0 $w
}

proc tixGrid:GoState-s8 {w key} {
    set anchor [$w info anchor]

    if {$anchor == ""} {
	set anchor 0
    } else {
	set anchor [$w info $key $anchor]
    }

    $w anchor set $anchor
    $w see $anchor
    tixGrid:GoState s0 $w
}

proc tixGrid:GoState-s9 {w} {
    set anchor [$w info anchor]

    if {$anchor == ""} {
	set anchor 0
	$w anchor set $anchor
	$w see $anchor
    }

    if {[$w info anchor] != ""} {
	# ! may not have any elements
	#
	tixGrid:CallCommand $w [$w info anchor]
	$w selection clear 
	$w selection set $anchor
    }

    tixGrid:GoState s0 $w
}

proc tixGrid:GoState-s10 {w} {
    set anchor [$w info anchor]

    if {$anchor == ""} {
	set anchor 0
	$w anchor set $anchor
	$w see $anchor
    }

    if {[$w info anchor] != ""} {
	# ! may not have any elements
	#
	tixGrid:CallBrowseCmd $w [$w info anchor]
	$w selection clear 
	$w selection set $anchor
    }

    tixGrid:GoState s0 $w
}

#----------------------------------------------------------------------
#	BROWSE SELECTION
#----------------------------------------------------------------------
proc tixGrid:GoState-b0 {w} {
}

proc tixGrid:GoState-b1 {w x y} {
    set ent [$w nearest $x $y]
    if {$ent != ""} {
	$w anchor set $ent
	$w selection clear
	$w selection set $ent
	tixGrid:CallBrowseCmd $w $ent
    }
    tixGrid:GoState b2 $w
}

proc tixGrid:GoState-b2 {w} {
}

proc tixGrid:GoState-b3 {w} {
    set ent [$w info anchor]
    if {$ent != ""} {
	$w selection clear
	$w selection set $ent
	tixGrid:CallBrowseCmd $w $ent
    }
    tixGrid:GoState b0 $w
}

proc tixGrid:GoState-b4 {w x y} {
    set ent [$w nearest $x $y]
    if {$ent != ""} {
	$w anchor set $ent
	$w selection clear
	$w selection set $ent
	tixGrid:CallBrowseCmd $w $ent
    }
}

proc tixGrid:GoState-b5 {w} {
    tixGrid:StartScan $w
}

proc tixGrid:GoState-b6 {w} {
    global tkPriv

    tixGrid:DoScan $w
}

proc tixGrid:GoState-b7 {w x y} {
    set ent [$w nearest $x $y]

    if {$ent != ""} {
	$w selection clear
	$w selection set $ent
	tixGrid:CallCommand $w $ent
    }
    tixGrid:GoState b0 $w
}

proc tixGrid:GoState-b8 {w key} {
    set anchor [$w info anchor]

    if {$anchor == ""} {
	set anchor 0
    } else {
	set anchor [$w info $key $anchor]
    }

    $w anchor set $anchor
    $w selection clear
    $w selection set $anchor
    $w see $anchor

    tixGrid:CallBrowseCmd $w $anchor
    tixGrid:GoState b0 $w
}

proc tixGrid:GoState-b9 {w} {
    set anchor [$w info anchor]

    if {$anchor == ""} {
	set anchor 0
	$w anchor set $anchor
	$w see $anchor
    }

    if {[$w info anchor] != ""} {
	# ! may not have any elements
	#
	tixGrid:CallCommand $w [$w info anchor]
	$w selection clear 
	$w selection set $anchor
    }

    tixGrid:GoState b0 $w
}

proc tixGrid:GoState-b10 {w} {
    set anchor [$w info anchor]

    if {$anchor == ""} {
	set anchor 0
	$w anchor set $anchor
	$w see $anchor
    }

    if {[$w info anchor] != ""} {
	# ! may not have any elements
	#
	tixGrid:CallBrowseCmd $w [$w info anchor]
	$w selection clear 
	$w selection set $anchor
    }

    tixGrid:GoState b0 $w
}

#----------------------------------------------------------------------
#	MULTIPLE SELECTION
#----------------------------------------------------------------------
proc tixGrid:GoState-m0 {w} {
}

proc tixGrid:GoState-m1 {w x y} {
    set ent [$w nearest $x $y]
    if {$ent != ""} {
	$w anchor set $ent
	$w selection clear
	$w selection set $ent
	tixGrid:CallBrowseCmd $w $ent
    }
    tixGrid:GoState m2 $w
}

proc tixGrid:GoState-m2 {w} {
}

proc tixGrid:GoState-m3 {w} {
    set ent [$w info anchor]
    if {$ent != ""} {
	tixGrid:CallBrowseCmd $w $ent
    }
    tixGrid:GoState m0 $w
}

proc tixGrid:GoState-m4 {w x y} {
    set from [$w info anchor]
    set to   [$w nearest $x $y]
    if {$to != ""} {
	$w selection clear
	$w selection set $from $to
	tixGrid:CallBrowseCmd $w $to
    }
    tixGrid:GoState m5 $w
}

proc tixGrid:GoState-m5 {w} {
}

proc tixGrid:GoState-m6 {w x y} {
    set ent [$w nearest $x $y]
    if {$ent != ""} {
	tixGrid:CallBrowseCmd $w $ent
    }
    tixGrid:GoState m0 $w  
}

proc tixGrid:GoState-m7 {w x y} {
    set from [$w info anchor]
    set to   [$w nearest $x $y]
    if {$from == ""} {
	set from $to
	$w anchor set $from
    }
    if {$to != ""} {
	$w selection clear
	$w selection set $from $to
	tixGrid:CallBrowseCmd $w $to
    }
    tixGrid:GoState m5 $w
}


proc tixGrid:GoState-m8 {w} {
    tixGrid:StartScan $w
}

proc tixGrid:GoState-m9 {w} {
    tixGrid:DoScan $w
}

proc tixGrid:GoState-xm7 {w x y} {
    set ent [$w nearest $x $y]

    if {$ent != ""} {
	$w selection clear
	$w selection set $ent
	tixGrid:CallCommand $w $ent
    }
    tixGrid:GoState m0 $w
}

#----------------------------------------------------------------------
#	EXTENDED SELECTION
#----------------------------------------------------------------------
proc tixGrid:GoState-e0 {w} {
}

proc tixGrid:GoState-e1 {w x y} {
    set ent [$w nearest $x $y]
    if {$ent != ""} {
	$w anchor set $ent
	$w selection clear
	$w selection set $ent
	tixGrid:CallBrowseCmd $w $ent
    }
    tixGrid:GoState e2 $w
}

proc tixGrid:GoState-e2 {w} {
}

proc tixGrid:GoState-e3 {w} {
    set ent [$w info anchor]
    if {$ent != ""} {
	tixGrid:CallBrowseCmd $w $ent
    }
    tixGrid:GoState e0 $w
}

proc tixGrid:GoState-e4 {w x y} {
    set from [$w info anchor]
    set to   [$w nearest $x $y]
    if {$to != ""} {
	$w selection clear
	$w selection set $from $to
	tixGrid:CallBrowseCmd $w $to
    }
    tixGrid:GoState e5 $w
}

proc tixGrid:GoState-e5 {w} {
}

proc tixGrid:GoState-e6 {w x y} {
    set ent [$w nearest $x $y]
    if {$ent != ""} {
	tixGrid:CallBrowseCmd $w $ent
    }
    tixGrid:GoState e0 $w  
}

proc tixGrid:GoState-e7 {w x y} {
    set from [$w info anchor]
    set to   [$w nearest $x $y]
    if {$from == ""} {
	set from $to
	$w anchor set $from
    }
    if {$to != ""} {
	$w selection clear
	$w selection set $from $to
	tixGrid:CallBrowseCmd $w $to
    }
    tixGrid:GoState e5 $w
}


proc tixGrid:GoState-e8 {w} {
    tixGrid:StartScan $w
}

proc tixGrid:GoState-e9 {w} {
    tixGrid:DoScan $w
}

proc tixGrid:GoState-e10 {w x y} {
    set ent [$w nearest $x $y]
    if {$ent != ""} {
	if {[$w info anchor] == ""} {
	    $w anchor set $ent
	}
	if {[$w selection includes $ent]} {
	    $w selection clear $ent
	} else {
	    $w selection set $ent
	}
	tixGrid:CallBrowseCmd $w $ent
    }
    tixGrid:GoState e2 $w
}

proc tixGrid:GoState-xm7 {w x y} {
    set ent [$w nearest $x $y]

    if {$ent != ""} {
	$w selection clear
	$w selection set $ent
	tixGrid:CallCommand $w $ent
    }
    tixGrid:GoState e0 $w
}

#----------------------------------------------------------------------
#	HODGE PODGE
#----------------------------------------------------------------------

proc tixGrid:GoState-12 {w x y} {
    tkCancelRepeat
    tixGrid:GoState 5 $w $x $y 
}

proc tixGrid:GoState-13 {w ent oldEnt} {
    global tkPriv
    set tkPriv(tix,indicator) $ent
    set tkPriv(tix,oldEnt)    $oldEnt
    tixGrid:IndicatorCmd $w <Arm> $ent
}

proc tixGrid:GoState-14 {w x y} {
    global tkPriv

    if {[tixGrid:InsideArmedIndicator $w $x $y]} {
	$w anchor set $tkPriv(tix,indicator)
	$w select clear
	$w select set $tkPriv(tix,indicator)
	tixGrid:IndicatorCmd $w <Activate> $tkPriv(tix,indicator)
    } else {
	tixGrid:IndicatorCmd $w <Disarm>   $tkPriv(tix,indicator)
    }

    unset tkPriv(tix,indicator)
    tixGrid:GoState 0 $w
}

proc tixGrid:GoState-16 {w ent} {
    if {$ent == ""} {
	return
    }
    if {[$w cget -selectmode] ne "single"} {
	tixGrid:Select $w $ent
	tixGrid:Browse $w $ent
    }
}

proc tixGrid:GoState-18 {w} {
    global tkPriv
    tkCancelRepeat
    tixGrid:GoState 6 $w $tkPriv(x) $tkPriv(y) 
}

proc tixGrid:GoState-20 {w x y} {
    global tkPriv

    if {![tixGrid:InsideArmedIndicator $w $x $y]} {
	tixGrid:GoState 21 $w $x $y
    } else {
	tixGrid:IndicatorCmd $w <Arm> $tkPriv(tix,indicator)
    }
}

proc tixGrid:GoState-21 {w x y} {
    global tkPriv

    if {[tixGrid:InsideArmedIndicator $w $x $y]} {
	tixGrid:GoState 20 $w $x $y
    } else {
	tixGrid:IndicatorCmd $w <Disarm> $tkPriv(tix,indicator)
    }
}

proc tixGrid:GoState-22 {w} {
    global tkPriv

    if {$tkPriv(tix,oldEnt) != ""} {
	$w anchor set $tkPriv(tix,oldEnt)
    } else {
	$w anchor clear
    }
    tixGrid:GoState 0 $w
}


#----------------------------------------------------------------------
#			callback actions
#----------------------------------------------------------------------
proc tixGrid:SetAnchor {w ent} {
    if {$ent ne ""} {
	$w anchor set [lindex $ent 0] [lindex $ent 1]
#	$w see $ent
    }
}

proc tixGrid:Select {w ent} {
    $w selection clear
    $w select set $ent
}

proc tixGrid:StartScan {w} {
    global tkPriv
    set tkPriv(afterId) [after 50 tixGrid:AutoScan $w]
}

proc tixGrid:DoScan {w} {
    global tkPriv
    set x $tkPriv(x)
    set y $tkPriv(y)
    set X $tkPriv(X)
    set Y $tkPriv(Y)

    set out 0
    if {$y >= [winfo height $w]} {
	$w yview scroll 1 units
	set out 1
    }
    if {$y < 0} {
	$w yview scroll -1 units
	set out 1
    }
    if {$x >= [winfo width $w]} {
	$w xview scroll 2 units
	set out 1
    }
    if {$x < 0} {
	$w xview scroll -2 units
	set out 1
    }

    if {$out} {
	set tkPriv(afterId) [after 50 tixGrid:AutoScan $w]
    }
}

proc tixGrid:CallBrowseCmd {w ent} {
    return

    set browsecmd [$w cget -browsecmd]
    if {$browsecmd != ""} {
	set bind(specs) {%V}
	set bind(%V)    $ent

	tixEvalCmdBinding $w $browsecmd bind $ent
    }
}

proc tixGrid:CallCommand {w ent} {
    set command [$w cget -command]
    if {$command != ""} {
	set bind(specs) {%V}
	set bind(%V)    $ent

	tixEvalCmdBinding $w $command bind $ent
    }
}

# tixGrid:EditCell --
#
#	This command is called when "$w edit set $x $y" is called. It causes
#	an SetEdit call when the grid's state is 0.
#
proc tixGrid:EditCell {w x y} {
    set list $w:_list
    global $list

    if {[tixGrid:GetState $w] == 0} {
	tixGrid:SetEdit $w [list $x $y]
    } else {
	lappend $list [list tixGrid:SetEdit $w [list $x $y]]
    }
}

# tixGrid:EditApply --
#
#	This command is called when "$w edit apply $x $y" is called. It causes
#	an CheckEdit call when the grid's state is 0.
#
proc tixGrid:EditApply {w} {
    set list $w:_list
    global $list

    if {[tixGrid:GetState $w] == 0} {
	tixGrid:CheckEdit $w
    } else {
	lappend $list [list tixGrid:CheckEdit $w]
    }
}

# tixGrid:CheckEdit --
#
#	This procedure is called when the user sets the focus on a cell.
#	If another cell is being edited, apply the changes of that cell.
#
proc tixGrid:CheckEdit {w} {
    set edit $w.tixpriv__edit
    if {[winfo exists $edit]} {
	#
	# If it -command is not empty, it is being used for another cell.
	# Invoke it so that the other cell can be updated.
	#
	if {[$edit cget -command] ne ""} {
	    $edit invoke
	}
    }
}

# tixGrid:SetEdit --
#
#	Puts a floatentry on top of an editable entry.
#
proc tixGrid:SetEdit {w ent} {
    set edit $w.tixpriv__edit
    tixGrid:CheckEdit $w

    set editnotifycmd [$w cget -editnotifycmd]
    if {$editnotifycmd eq ""} {
	return
    }
    set px [lindex $ent 0]
    set py [lindex $ent 1]

    if {![uplevel #0 $editnotifycmd $px $py]} {
	return
    }
    if {[$w info exists $px $py]} {
	if [catch {
	    set oldValue [$w entrycget $px $py -text]
	}] {
	    # The entry doesn't support -text option. Can't edit it.
	    #
	    # If the application wants to force editing of an entry, it could
	    # delete or replace the entry in the editnotifyCmd procedure.
	    #
	    return
	}
    } else {
	set oldValue ""
    }

    set bbox [$w info bbox [lindex $ent 0] [lindex $ent 1]]
    set x [lindex $bbox 0]
    set y [lindex $bbox 1]
    set W [lindex $bbox 2]
    set H [lindex $bbox 3]

    if {![winfo exists $edit]} {
	tixFloatEntry $edit
    }

    $edit config -command "tixGrid:DoneEdit $w $ent"
    $edit post $x $y $W $H

    $edit config -value $oldValue
}

proc tixGrid:DoneEdit {w x y args} {
    set edit $w.tixpriv__edit
    $edit config -command ""
    $edit unpost

    set value [tixEvent value]
    if {[$w info exists $x $y]} {
	if [catch {
	    $w entryconfig $x $y -text $value
	}] {
	    return
	}
    } elseif {$value ne ""} {
	if {[catch {
	    # This needs to be catch'ed because the default itemtype may
	    # not support the -text option
	    #
	    $w set $x $y -text $value
	}]} {
	    return
	}
    } else {
	return
    }

    set editDoneCmd [$w cget -editdonecmd]
    if {$editDoneCmd ne ""} {
	uplevel #0 $editDoneCmd $x $y
    }
}

proc tixGrid:SetFocus {w} {
    if {[$w cget -takefocus] && ![string match $w.* [focus -displayof $w]]} {
	focus $w
    }
}
PKqm�[X6�:77Tix8.4.3/Init.tclnu�[���# -*- mode: TCL; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*-
#
#	$Id: Init.tcl,v 1.18 2008/02/28 04:35:16 hobbs Exp $
#
# Init.tcl --
#
#	Initializes the Tix library and performes version checking to ensure
#	the Tcl, Tk and Tix script libraries loaded matches with the binary
#	of the respective packages.
#
# Copyright (c) 1993-1999 Ioi Kim Lam.
# Copyright (c) 2000-2001 Tix Project Group.
# Copyright (c) 2004 ActiveState
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#
namespace eval ::tix {
}

proc tixScriptVersion {}    { return $::tix_version }
proc tixScriptPatchLevel {} { return $::tix_patchLevel }

proc ::tix::Init {dir} {
    global tix env tix_library tcl_platform auto_path

    if {[info exists tix(initialized)]} {
	return
    }

    if {![info exists tix_library]} {
        # we're running from stand-alone module. 
        set tix_library ""
    } elseif {[file isdir $tix_library]} {
        if {![info exists auto_path] ||
            [lsearch $auto_path $tix_library] == -1} {
            lappend auto_path $tix_library
        }
    }

    # STEP 1: Version checking
    #
    #
    package require Tcl 8.4
    package require -exact Tix 8.4.3

    # STEP 2: Initialize file compatibility modules
    #

    foreach file {
	fs.tcl
	Tix.tcl		Event.tcl
	Balloon.tcl	BtnBox.tcl
	CObjView.tcl	ChkList.tcl
	ComboBox.tcl	Compat.tcl
	Console.tcl	Control.tcl
	DefSchm.tcl	DialogS.tcl
	DirBox.tcl	DirDlg.tcl
	DirList.tcl	DirTree.tcl
	DragDrop.tcl	DtlList.tcl
	EFileBox.tcl	EFileDlg.tcl
	FileBox.tcl	FileCbx.tcl
	FileDlg.tcl	FileEnt.tcl
	FloatEnt.tcl
	Grid.tcl	HList.tcl
	HListDD.tcl	IconView.tcl
	LabEntry.tcl	LabFrame.tcl
	LabWidg.tcl	ListNBk.tcl
	Meter.tcl	MultView.tcl
	NoteBook.tcl	OldUtil.tcl
	OptMenu.tcl	PanedWin.tcl
	PopMenu.tcl	Primitiv.tcl
	ResizeH.tcl	SGrid.tcl
	SHList.tcl	SListBox.tcl
	STList.tcl	SText.tcl
	SWidget.tcl	SWindow.tcl
	Select.tcl	Shell.tcl
	SimpDlg.tcl	StackWin.tcl
	StatBar.tcl	StdBBox.tcl
	StdShell.tcl	TList.tcl
	Tree.tcl
	Utils.tcl	VResize.tcl
	VStack.tcl	VTree.tcl
	Variable.tcl	WInfo.tcl
    } {
	uplevel \#0 [list source [file join $dir $file]]
    }

    # STEP 3: Initialize the Tix application context
    #
    tixAppContext tix

    # DO NOT DO THIS HERE !!
    # This causes the global defaults to be altered, which may not
    # be desirable.  The user can call this after requiring Tix if
    # they wish to use different defaults.
    #
    #tix initstyle

    # STEP 4: Initialize the bindings for widgets that are implemented in C
    #
    foreach w {
	HList TList Grid ComboBox Control FloatEntry
	LabelEntry ScrolledGrid ScrolledListBox
    } {
	tix${w}Bind
    }

    rename ::tix::Init ""
}

# tixWidgetClassEx --
#
#       This procedure is similar to tixWidgetClass, except it
#       performs a [subst] on the class declaration before evaluating
#       it. This gives us a chance to specify platform-specific widget
#       default without using a lot of ugly double quotes.
#
#       The use of subst'able entries in the class declaration should
#       be restrained to widget default values only to avoid producing
#       unreadable code.
#
# Arguments:
# name -	The name of the class to declare.
# classDecl -	Various declarations about the class. See documentation
#               of tixWidgetClass for details.

proc tixWidgetClassEx {name classDecl} {
    tixWidgetClass $name [uplevel [list subst $classDecl]]
}

#
# Deprecated tix* functions
#
interp alias {} tixFileJoin {} file join
interp alias {} tixStrEq {} string equal
proc tixTrue  {args} { return 1 }
proc tixFalse {args} { return 0 }
proc tixStringSub {var fromStr toStr} {
    upvar 1 var var
    set var [string map $var [list $fromStr $toStr]]
}
proc tixGetBoolean {args} {
    set len [llength [info level 0]]
    set nocomplain 0
    if {$len == 3} {
	if {[lindex $args 0] ne "-nocomplain"} {
	    return -code error "wrong \# args:\
		must be [lindex [info level 0] 0] ?-nocomplain? string"
	}
	set nocomplain 1
	set val [lindex $args 1]
    } elseif {$len != 2} {
	return -code error "wrong \# args:\
		must be [lindex [info level 0] 0] ?-nocomplain? string"
    } else {
	set val [lindex $args 0]
    }
    if {[string is boolean -strict $val] || $nocomplain} {
	return [string is true -strict $val]
    } elseif {$nocomplain} {
	return 0
    } else {
	return -code error "\"$val\" is not a valid boolean"
    }
}
interp alias {} tixVerifyBoolean {} tixGetBoolean
proc tixGetInt {args} {
    set len [llength [info level 0]]
    set nocomplain 0
    set trunc      0
    for {set i 1} {$i < $len-1} {incr i} {
	set arg [lindex $args 0]
	if {$arg eq "-nocomplain"} {
	    set nocomplain 1
	} elseif {$arg eq "-trunc"} {
	    set trunc 1
	} else {
	    return -code error "wrong \# args: must be\
		[lindex [info level 0] 0] ?-nocomplain? ?-trunc? string"
	}
    }
    if {$i != $len-1} {
	return -code error "wrong \# args: must be\
		[lindex [info level 0] 0] ?-nocomplain? ?-trunc? string"
    }
    set val [lindex $args end]
    set code [catch {expr {round($val)}} res]
    if {$code} {
	if {$nocomplain} {
	    return 0
	} else {
	    return -code error "\"$val\" cannot be converted to integer"
	}
    }
    if {$trunc} {
	return [expr {int($val)}]
    } else {
	return $res
    }
}
proc tixFile {option filename} {
    set len [string length $option]
    if {$len > 1 && [string equal -length $len $option "tildesubst"]} {
	set code [catch {file normalize $filename} res]
	if {$code == 0} {
	    set filename $res
	}
    } elseif {$len > 1 && [string equal -length $len $option "trimslash"]} {
	# normalize extra slashes
	set filename [file join $filename]
	if {$filename ne "/"} {
	    set filename [string trimright $filename "/"]
	}
    } else {
	return -code error "unknown option \"$option\",\
		must be tildesubst or trimslash"
    }
    return $filename
}

interp alias {} tixRaiseWindow {} raise
#proc tixUnmapWindow {w} { }

#
# if tix_library is not defined, we're running in SAM mode. ::tix::Init
# will be called later by the Tix_Init() C code.
#

if {[info exists tix_library]} {
    ::tix::Init [file dirname [info script]]
}
PKqm�[i�A����Tix8.4.3/ComboBox.tclnu�[���# -*- mode: TCL; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*-
#
#	$Id: ComboBox.tcl,v 1.9 2008/02/28 22:39:13 hobbs Exp $
#
# tixCombobox --
#
#	A combobox widget is basically a listbox widget with an entry
#	widget.
#
#
# Copyright (c) 1993-1999 Ioi Kim Lam.
# Copyright (c) 2000-2001 Tix Project Group.
# Copyright (c) 2004 ActiveState
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.

global tkPriv
if {![llength [info globals tkPriv]]} {
    tk::unsupported::ExposePrivateVariable tkPriv
}
#--------------------------------------------------------------------------
# tkPriv elements used in this file:
#
# afterId -		Token returned by "after" for autoscanning.
#--------------------------------------------------------------------------
#
foreach fun {tkCancelRepeat tkListboxUpDown tkButtonUp} {
    if {![llength [info commands $fun]]} {
	tk::unsupported::ExposePrivateCommand $fun
    }
}
unset fun

tixWidgetClass tixComboBox {
    -classname TixComboBox
    -superclass tixLabelWidget
    -method {
	addhistory align appendhistory flash invoke insert pick popdown
    }
    -flag {
	-anchor -arrowbitmap -browsecmd -command -crossbitmap
	-disablecallback -disabledforeground -dropdown -editable
	-fancy -grab -histlimit -historylimit -history -listcmd
	-listwidth -prunehistory -selection -selectmode -state
	-tickbitmap -validatecmd -value -variable
    }
    -static {
	-dropdown -fancy
    }
    -forcecall {
	-variable -selectmode -state
    }
    -configspec {
	{-arrowbitmap arrowBitmap ArrowBitmap ""}
	{-anchor anchor Anchor w}
	{-browsecmd browseCmd BrowseCmd ""}
        {-command command Command ""}
	{-crossbitmap crossBitmap CrossBitmap ""}
	{-disablecallback disableCallback DisableCallback 0 tixVerifyBoolean}
	{-disabledforeground disabledForeground DisabledForeground #606060}
	{-dropdown dropDown DropDown true tixVerifyBoolean}
	{-editable editable Editable false tixVerifyBoolean}
	{-fancy fancy Fancy false tixVerifyBoolean}
	{-grab grab Grab global}
	{-listcmd listCmd ListCmd ""}
	{-listwidth listWidth ListWidth ""}
	{-historylimit historyLimit HistoryLimit ""}
	{-history history History false tixVerifyBoolean}
	{-prunehistory pruneHistory PruneHistory true tixVerifyBoolean}
	{-selectmode selectMode SelectMode browse}
	{-selection selection Selection ""}
        {-state state State normal}
	{-validatecmd validateCmd ValidateCmd ""}
	{-value value Value ""}
	{-variable variable Variable ""}
	{-tickbitmap tickBitmap TickBitmap ""}
    }
    -alias {
	{-histlimit -historylimit}
    }
    -default {
	{*Entry.relief				sunken}
	{*TixScrolledListBox.scrollbar		auto}
	{*Listbox.exportSelection		false}
	{*Listbox.takeFocus			false}
	{*shell.borderWidth			2}
	{*shell.relief				raised}
	{*shell.cursor				arrow}
	{*Button.anchor				c}
	{*Button.borderWidth			1}
	{*Button.highlightThickness		0}
	{*Button.padX				0}
	{*Button.padY				0}
	{*tick.width				18}
	{*tick.height				18}
	{*cross.width				18}
	{*cross.height				18}
	{*arrow.anchor				c}
	{*arrow.width				15}
	{*arrow.height				18}
    }
}

# States: normal numbers: for dropdown style
#         d+digit(s)    : for non-dropdown style
#
proc tixComboBox:InitWidgetRec {w} {
    upvar #0 $w data

    tixChainMethod $w InitWidgetRec

    set data(curIndex)    ""
    set data(varInited)	  0
    set data(state)       none
    set data(ignore)      0

    if {$data(-history)} {
        set data(-editable) 1
    }

    if {$data(-arrowbitmap) eq ""} {
	set data(-arrowbitmap) [tix getbitmap cbxarrow]
    }
    if {$data(-crossbitmap) eq ""} {
	set data(-crossbitmap) [tix getbitmap cross]
    }
    if {$data(-tickbitmap) eq ""} {
	set data(-tickbitmap) [tix getbitmap tick]
    }
}

proc tixComboBox:ConstructFramedWidget {w frame} {
    upvar #0 $w data

    tixChainMethod $w ConstructFramedWidget $frame

    if {$data(-dropdown)} {
	tixComboBox:ConstructEntryFrame $w $frame
	tixComboBox:ConstructListShell $w
    } else {
	set f1 [frame $frame.f1]
	set f2 [frame $frame.f2]

	tixComboBox:ConstructEntryFrame $w $f1
	tixComboBox:ConstructListFrame  $w $f2
	pack $f1 -side top -pady 2 -fill x
	pack $f2 -side top -pady 2 -fill both -expand yes
    }
}

proc tixComboBox:ConstructEntryFrame {w frame} {
    upvar #0 $w data

    # (1) The entry
    #
    set data(w:entry) [entry $frame.entry]

    if {!$data(-editable)} {
	set bg [$w cget -bg]
	$data(w:entry) config -bg $bg -state disabled -takefocus 1
    }

    # This is used during "config-state"
    #
    set data(entryfg) [$data(w:entry) cget -fg]

    # (2) The dropdown button, not necessary when not in dropdown mode
    #
    set data(w:arrow) [button $frame.arrow -bitmap $data(-arrowbitmap)]
    if {!$data(-dropdown)} {
	set xframe [frame $frame.xframe -width 19]
    }

    # (3) The fancy tick and cross buttons
    #
    if {$data(-fancy)} {
	if {$data(-editable)} {
           set data(w:cross)  [button $frame.cross -bitmap $data(-crossbitmap)]
	   set data(w:tick)   [button $frame.tick  -bitmap $data(-tickbitmap)]

	   pack $frame.cross -side left -padx 1
	   pack $frame.tick  -side left -padx 1
	} else {
	   set data(w:tick)   [button $frame.tick  -bitmap $data(-tickbitmap)]
	   pack $frame.tick  -side left -padx 1
	}
    }

    if {$data(-dropdown)} {
	pack $data(w:arrow) -side right -padx 1
	foreach wid [list $data(w:frame) $data(w:label)] {
	    tixAddBindTag $wid TixComboWid
	    tixSetMegaWidget $wid $w TixComboBox
	}
    } else {
	pack $xframe -side right -padx 1
    }
    pack $frame.entry -side right -fill x -expand yes -padx 1
}

proc tixComboBox:ConstructListShell {w} {
    upvar #0 $w data

    # Create the shell and the list
    #------------------------------
    set data(w:shell) [menu $w.shell -bd 2 -relief raised -tearoff 0]
    wm overrideredirect $data(w:shell) 1
    wm withdraw $data(w:shell)

    set data(w:slistbox) [tixScrolledListBox $data(w:shell).slistbox \
	-anchor $data(-anchor) -scrollbarspace y \
	-options {listbox.selectMode "browse"}]

    set data(w:listbox) [$data(w:slistbox) subwidget listbox]

    pack $data(w:slistbox) -expand yes -fill both -padx 2 -pady 2
}

proc tixComboBox:ConstructListFrame {w frame} {
    upvar #0 $w data

    set data(w:slistbox) [tixScrolledListBox $frame.slistbox \
	-anchor $data(-anchor)]

    set data(w:listbox) [$data(w:slistbox) subwidget listbox]

    pack $data(w:slistbox) -expand yes -fill both
}


proc tixComboBox:SetBindings {w} {
    upvar #0 $w data

    tixChainMethod $w SetBindings

    # (1) Fix the bindings for the combobox
    #
    bindtags $w [list $w TixComboBox [winfo toplevel $w] all]

    # (2) The entry subwidget
    #
    tixSetMegaWidget $data(w:entry) $w TixComboBox

    bindtags $data(w:entry) [list $data(w:entry) Entry TixComboEntry\
	TixComboWid [winfo toplevel $data(w:entry)] all]

    # (3) The listbox and slistbox
    #
    $data(w:slistbox) config -browsecmd \
	[list tixComboBox:LbBrowse  $w]
    $data(w:slistbox) config -command\
	[list tixComboBox:LbCommand $w]
    $data(w:listbox) config -takefocus 0

    tixAddBindTag $data(w:listbox)  TixComboLb
    tixAddBindTag $data(w:slistbox) TixComboLb
    tixSetMegaWidget $data(w:listbox)  $w TixComboBox
    tixSetMegaWidget $data(w:slistbox) $w TixComboBox

    # (4) The buttons
    #
    if {$data(-dropdown)} {
	$data(w:arrow) config -takefocus 0
	tixAddBindTag $data(w:arrow) TixComboArrow
	tixSetMegaWidget $data(w:arrow) $w TixComboBox

	bind $data(w:root) <1>                [list tixComboBox:RootDown $w]
	bind $data(w:root) <ButtonRelease-1>  [list tixComboBox:RootUp   $w]
    }

    if {$data(-fancy)} {
	if {$data(-editable)} {
	    $data(w:cross) config -command [list tixComboBox:CrossBtn $w] \
		-takefocus 0
	}
	$data(w:tick) config -command [list tixComboBox:Invoke $w] -takefocus 0
    }

    if {$data(-dropdown)} {
	set data(state) 0
    } else {
	set data(state) n0
    }
}

proc tixComboBoxBind {} {
    #----------------------------------------------------------------------
    # The class bindings for the TixComboBox
    #
    tixBind TixComboBox <Escape> {
	if {[tixComboBox:EscKey %W]} {
	    break
	}
    }
    tixBind TixComboBox <Configure> {
	tixWidgetDoWhenIdle tixComboBox:align %W
    }
    # Only the two "linear" detail_fields  are for tabbing (moving) among
    # widgets inside the same toplevel. Other detail_fields are sort
    # of irrelevant
    #
    tixBind TixComboBox <FocusOut>  {
	if {[string equal %d NotifyNonlinear] ||
	    [string equal %d NotifyNonlinearVirtual]} {

	    if {[info exists %W(cancelTab)]} {
		unset %W(cancelTab)
	    } else {
		if {[set %W(-state)] ne "disabled"} {
		    if {[set %W(-selection)] ne [set %W(-value)]} {
			tixComboBox:Invoke %W
		    }
		}
	    }
	}
    }
    tixBind TixComboBox <FocusIn>  {
	if {"%d" eq "NotifyNonlinear" || "%d" eq "NotifyNonlinearVirtual"} {
	    focus [%W subwidget entry]

	    # CYGNUS: Setting the selection if there is no data
	    # causes backspace to misbehave.
	    if {[[set %W(w:entry)] get] ne ""} {
  		[set %W(w:entry)] selection from 0
  		[set %W(w:entry)] selection to end
  	    }

	}
    }

    #----------------------------------------------------------------------
    # The class tixBindings for the arrow button widget inside the TixComboBox
    #

    tixBind TixComboArrow <1>               {
	tixComboBox:ArrowDown [tixGetMegaWidget %W TixComboBox]
    }
    tixBind TixComboArrow <ButtonRelease-1> {
	tixComboBox:ArrowUp   [tixGetMegaWidget %W TixComboBox]
    }
    tixBind TixComboArrow <Escape>          {
	if {[tixComboBox:EscKey [tixGetMegaWidget %W TixComboBox]]} {
	    break
	}
    }


    #----------------------------------------------------------------------
    # The class tixBindings for the entry widget inside the TixComboBox
    #
    tixBind TixComboEntry <Up>		{
	tixComboBox:EntDirKey [tixGetMegaWidget %W TixComboBox] up
    }
    tixBind TixComboEntry <Down>	{
	tixComboBox:EntDirKey [tixGetMegaWidget %W TixComboBox] down
    }
    tixBind TixComboEntry <Prior>	{
	tixComboBox:EntDirKey [tixGetMegaWidget %W TixComboBox] pageup
    }
    tixBind TixComboEntry <Next>	{
	tixComboBox:EntDirKey [tixGetMegaWidget %W TixComboBox] pagedown
    }
    tixBind TixComboEntry <Return>	{
	tixComboBox:EntReturnKey [tixGetMegaWidget %W TixComboBox]
    }
    tixBind TixComboEntry <KeyPress>	{
	tixComboBox:EntKeyPress [tixGetMegaWidget %W TixComboBox]
    }
    tixBind TixComboEntry <Escape> 	{
	if {[tixComboBox:EscKey [tixGetMegaWidget %W TixComboBox]]} {
	    break
	}
    }
    tixBind TixComboEntry <Tab> 	{
	if {[set [tixGetMegaWidget %W TixComboBox](-state)] ne "disabled"} {
	    if {[tixComboBox:EntTab [tixGetMegaWidget %W TixComboBox]]} {
		break
	    }
	}
    }
    tixBind TixComboEntry <1>	{
	if {[set [tixGetMegaWidget %W TixComboBox](-state)] ne "disabled"} {
	    focus %W
	}
    }
    tixBind TixComboEntry <ButtonRelease-2>	{
	tixComboBox:EntKeyPress [tixGetMegaWidget %W TixComboBox]
    }

    #----------------------------------------------------------------------
    # The class bindings for the listbox subwidget
    #

    tixBind TixComboWid <Escape> {
	if {[tixComboBox:EscKey [tixGetMegaWidget %W TixComboBox]]} {
	    break
	}
    }

    #----------------------------------------------------------------------
    # The class bindings for some widgets inside ComboBox
    #
    tixBind TixComboWid <ButtonRelease-1> {
	tixComboBox:WidUp [tixGetMegaWidget %W TixComboBox]
    }
    tixBind TixComboWid <Escape> {
	if {[tixComboBox:EscKey [tixGetMegaWidget %W TixComboBox]]} {
	    break
	}
    }
}

#----------------------------------------------------------------------
#              Cooked events
#----------------------------------------------------------------------
proc tixComboBox:ArrowDown {w} {
    upvar #0 $w data

    if {$data(-state) eq "disabled"} {
	return
    }

    switch -exact -- $data(state) {
	0	{ tixComboBox:GoState 1 $w }
	2	{ tixComboBox:GoState 19 $w }
	default	{ tixComboBox:StateError $w }
    }
}

proc tixComboBox:ArrowUp {w} {
    upvar #0 $w data
    
    switch -exact -- $data(state) {
	1	{ tixComboBox:GoState 2 $w }
	19	{
	    # data(ignore) was already set in state 19
	    tixComboBox:GoState 4 $w
	}
	5	{ tixComboBox:GoState 13 $w }
	default	{ tixComboBox:StateError $w }
    }
}

proc tixComboBox:RootDown {w} {
    upvar #0 $w data
    
    switch -exact -- $data(state) {
	0	{
	    # Ignore
	}
	2	{ tixComboBox:GoState 3 $w }
	default { tixComboBox:StateError $w }
    }
}

proc tixComboBox:RootUp {w} {
    upvar #0 $w data
    
    switch -exact -- $data(state) {
	{1} {
	    tixComboBox:GoState 12 $w
	}
	{3} {
	    # data(ignore) was already set in state 3
	    tixComboBox:GoState 4 $w
	}
	{5} {
	    tixComboBox:GoState 7 $w
	}
	default {
	    tixComboBox:StateError $w
	}
    }
}

proc tixComboBox:WidUp {w} {
    upvar #0 $w data
    
    switch -exact -- $data(state) {
	{1} {
	    tixComboBox:GoState 12 $w
	}
	{5} {
	    tixComboBox:GoState 13 $w
	}
    }
}

proc tixComboBox:LbBrowse {w args} {
    upvar #0 $w data

    set event [tixEvent type]
    set x [tixEvent flag x]
    set y [tixEvent flag y]
    set X [tixEvent flag X]
    set Y [tixEvent flag Y]

    if {$data(-state) eq "disabled"} { return }

    switch -exact -- $event {
	<1> {
	    case $data(state) {
		{2} {
		    tixComboBox:GoState 5 $w $x $y $X $Y
		}
		{5} {
		    tixComboBox:GoState 5 $w $x $y $X $Y
		}
		{n0} {
		    tixComboBox:GoState n6 $w $x $y $X $Y
		}
		default {
		    tixComboBox:StateError $w
		}
	    }
	}
	<ButtonRelease-1> {
	    case $data(state) {
		{5} {
		    tixComboBox:GoState 6 $w $x $y $X $Y
		}
		{n6} {
		    tixComboBox:GoState n0 $w
		}
		default {
		    tixComboBox:StateError $w
		}
	    }
	}
	default {
	    # Must be a motion event
	    case $data(state) {
		{1} {
		    tixComboBox:GoState 9 $w $x $y $X $Y
		}
		{5} {
		    tixComboBox:GoState 5 $w $x $y $X $Y
		}
		{n6} {
		    tixComboBox:GoState n6 $w $x $y $X $Y
		}
		default {
		    tixComboBox:StateError $w
		}
	    }
	}
    }
}

proc tixComboBox:LbCommand {w} {
    upvar #0 $w data

    if {$data(state) eq "n0"} {
	tixComboBox:GoState n1 $w
    }
}

#----------------------------------------------------------------------
#           General keyboard event

# returns 1 if the combobox is in some special state and the Escape key
# shouldn't be handled by the toplevel bind tag. As a result, when a combobox
# is popped up in a dialog box, Escape will popdown the combo. If the combo
# is not popped up, Escape will invoke the toplevel bindtag (which can
# pop down the dialog box)
#
proc tixComboBox:EscKey {w} {
    upvar #0 $w data

    if {$data(-state) eq "disabled"} { return 0 }

    switch -exact -- $data(state) {
	{0} {
	    tixComboBox:GoState 17 $w
	}
	{2} {
	    tixComboBox:GoState 16 $w
	    return 1
	}
	{n0} {
	    tixComboBox:GoState n4 $w
	}
	default {
	    # ignore
	    return 1
	}
    }

    return 0
}

#----------------------------------------
# Keyboard events
#----------------------------------------
proc tixComboBox:EntDirKey {w dir} {
    upvar #0 $w data

    if {$data(-state) eq "disabled"} { return }

    switch -exact -- $data(state) {
	{0} {
	    tixComboBox:GoState 10 $w $dir
	}
	{2} {
	    tixComboBox:GoState 11 $w $dir
	}
	{5} {
	    # ignore
	}
	{n0} {
	    tixComboBox:GoState n3 $w $dir
	}
    }
}

proc tixComboBox:EntReturnKey {w} {
    upvar #0 $w data

    if {$data(-state) eq "disabled"} { return }

    switch -exact -- $data(state) {
	{0} {
	    tixComboBox:GoState 14 $w
	}
	{2} {
	    tixComboBox:GoState 15 $w
	}
	{5} {
	    # ignore
	}
	{n0} {
	    tixComboBox:GoState n1 $w
	}
    }
}

# Return 1 == break from the binding == no keyboard focus traversal
proc tixComboBox:EntTab {w} {
    upvar #0 $w data

    switch -exact -- $data(state) {
	{0} {
	    tixComboBox:GoState 14 $w
	    set data(cancelTab) ""
	    return 0
	}
	{2} {
	    tixComboBox:GoState 15 $w
	    set data(cancelTab) ""
	    return 0
	}
	{n0} {
	    tixComboBox:GoState n1 $w
	    set data(cancelTab) ""
	    return 0
	}
	default {
	    return 1
	}
    }
}

proc tixComboBox:EntKeyPress {w} {
    upvar #0 $w data

    if {$data(-state) eq "disabled" || !$data(-editable)} { return }

    switch -exact -- $data(state) {
	0 - 2 - n0 {
	    tixComboBox:ClearListboxSelection $w
	    tixComboBox:SetSelection $w [$data(w:entry) get] 0 0
	}
    }
}

#----------------------------------------------------------------------

proc tixComboBox:HandleDirKey {w dir} {
    upvar #0 $w data

    if {[tixComboBox:CheckListboxSelection $w]} {
	switch -exact -- $dir {
	    "up" {
		tkListboxUpDown $data(w:listbox) -1
		set data(curIndex) [lindex [$data(w:listbox) curselection] 0]
		tixComboBox:SetSelectionFromListbox $w
	    }
	    "down" {
		tkListboxUpDown $data(w:listbox)  1
		set data(curIndex) [lindex [$data(w:listbox) curselection] 0]
		tixComboBox:SetSelectionFromListbox $w
	    }
	    "pageup" {
		$data(w:listbox) yview scroll -1 pages
	    }
	    "pagedown" {
		$data(w:listbox) yview scroll  1 pages
	    }
	}
    } else {
	# There wasn't good selection in the listbox.
	#
	tixComboBox:SetSelectionFromListbox $w
    }
}

proc tixComboBox:Invoke {w} {
    upvar #0 $w data

    tixComboBox:SetValue $w $data(-selection)
    if {![winfo exists $w]} {
	return
    }

    if {$data(-history)} {
	tixComboBox:addhistory $w $data(-value)
	set data(curIndex) 0
    }
    $data(w:entry) selection from 0
    $data(w:entry) selection to end
    $data(w:entry) icursor end
}

#----------------------------------------------------------------------
#                   MAINTAINING THE -VALUE
#----------------------------------------------------------------------
proc tixComboBox:SetValue {w newValue {noUpdate 0} {updateEnt 1}} {
    upvar #0 $w data

    if {[llength $data(-validatecmd)]} {
       set data(-value) [tixEvalCmdBinding $w $data(-validatecmd) "" $newValue]
    } else {
	set data(-value) $newValue
    }

    if {! $noUpdate} {
	tixVariable:UpdateVariable $w
    }

    if {$updateEnt} {
	if {!$data(-editable)} {
	    $data(w:entry) delete 0 end
	    $data(w:entry) insert 0 $data(-value)
	}
    }

    if {!$data(-disablecallback) && [llength $data(-command)]} {
	if {![info exists data(varInited)]} {
	    set bind(specs) {%V}
	    set bind(%V)    $data(-value)

	    tixEvalCmdBinding $w $data(-command) bind $data(-value)
	    if {![winfo exists $w]} {
		# The user destroyed the window!
		return
	    }
	}
    }

    set data(-selection) $data(-value)
    if {$updateEnt} {
	tixSetEntry $data(w:entry) $data(-value)

	if {$data(-anchor) eq "e"} {
	    tixComboBox:EntryAlignEnd $w
	}
    }
}

# markSel: should the all the text in the entry be highlighted?
#
proc tixComboBox:SetSelection {w value {markSel 1} {setent 1}} {
    upvar #0 $w data

    if {$setent} {
	tixSetEntry $data(w:entry) $value
    }
    set data(-selection) $value

    if {$data(-selectmode) eq "browse"} {
	if {$markSel} {
	    $data(w:entry) selection range 0 end
	}
	if {[llength $data(-browsecmd)]} {
	    set bind(specs) {%V}
	    set bind(%V)    [$data(w:entry) get]
	    tixEvalCmdBinding $w $data(-browsecmd) bind [$data(w:entry) get]
	}
    } else {
	tixComboBox:SetValue $w $value 0 0
    }
}

proc tixComboBox:ClearListboxSelection {w} {
    upvar #0 $w data

    if {![winfo exists $data(w:listbox)]} {
	tixDebug "tixComboBox:ClearListboxSelection error non-existent $data(w:listbox)"
	return
    }

    $data(w:listbox) selection clear 0 end
}

proc tixComboBox:UpdateListboxSelection {w index} {
    upvar #0 $w data

    if {![winfo exists $data(w:listbox)]} {
	tixDebug "tixComboBox:UpdateListboxSelection error non-existent $data(w:listbox)"
	return
    }
    if {$index != ""} {
	$data(w:listbox) selection set $index
	$data(w:listbox) selection anchor $index
    }
}


proc tixComboBox:Cancel {w} {
    upvar #0 $w data

    tixSetEntry $data(w:entry) $data(-value)
    tixComboBox:SetSelection $w $data(-value)

    if {[tixComboBox:LbGetSelection $w] ne $data(-selection)} {
	tixComboBox:ClearListboxSelection $w
    }
}

proc tixComboBox:flash {w} {
    tixComboBox:BlinkEntry $w
}

# Make the entry blink when the user selects a choice
#
proc tixComboBox:BlinkEntry {w} {
    upvar #0 $w data

    if {![info exists data(entryBlacken)]} {
	set old_bg [$data(w:entry) cget -bg]
	set old_fg [$data(w:entry) cget -fg]

	$data(w:entry) config -fg $old_bg
	$data(w:entry) config -bg $old_fg

	set data(entryBlacken) 1
	after 50 tixComboBox:RestoreBlink $w [list $old_bg] [list $old_fg]
    }
}

proc tixComboBox:RestoreBlink {w old_bg old_fg} {
    upvar #0 $w data

    if {[info exists data(w:entry)] && [winfo exists $data(w:entry)]} {
	$data(w:entry) config -fg $old_fg
	$data(w:entry) config -bg $old_bg
    }

    if {[info exists data(entryBlacken)]} {
	unset data(entryBlacken)
    }
}

#----------------------------------------
#  Handle events inside the list box
#----------------------------------------

proc tixComboBox:LbIndex {w {flag ""}} {
    upvar #0 $w data

    if {![winfo exists $data(w:listbox)]} {
	tixDebug "tixComboBox:LbIndex error non-existent $data(w:listbox)"
	if {$flag eq "emptyOK"} {
	    return ""
	} else {
	    return 0
	}
    }
    set sel [lindex [$data(w:listbox) curselection] 0]
    if {$sel != ""} {
	return $sel
    } else {
	if {$flag eq "emptyOK"} {
	    return ""
	} else {
	    return 0
	}
    }
}

#----------------------------------------------------------------------
#
#			STATE MANIPULATION
#
#----------------------------------------------------------------------
proc tixComboBox:GoState-0 {w} {
    upvar #0 $w data

    if {[info exists data(w:root)] && [grab current] eq "$data(w:root)"} {
	grab release $w
    }
}

proc tixComboBox:GoState-1 {w} {
    upvar #0 $w data

    tixComboBox:Popup $w
}

proc tixComboBox:GoState-2 {w} {
    upvar #0 $w data

}

proc tixComboBox:GoState-3 {w} {
    upvar #0 $w data

    set data(ignore) 1
    tixComboBox:Popdown $w
}

proc tixComboBox:GoState-4 {w} {
    upvar #0 $w data

    tixComboBox:Ungrab $w
    if {$data(ignore)} {
	tixComboBox:Cancel $w
    } else {
	tixComboBox:Invoke $w
    }
    tixComboBox:GoState 0 $w
}

proc tixComboBox:GoState-5 {w x y X Y} {
    upvar #0 $w data

    tixComboBox:LbSelect $w $x $y $X $Y
}

proc tixComboBox:GoState-6 {w x y X Y} {
    upvar #0 $w data

    tixComboBox:Popdown $w

    if {[tixWithinWindow $data(w:shell) $X $Y]} {
	set data(ignore) 0
    } else {
	set data(ignore) 1
    }

    tixComboBox:GoState 4 $w
}

proc tixComboBox:GoState-7 {w} {
    upvar #0 $w data

    tixComboBox:Popdown $w
    set data(ignore) 1
    catch {
	global tkPriv
	if {$tkPriv(afterId) != ""} {
	    tkCancelRepeat
	}
    }

    set data(ignore) 1
    tixComboBox:GoState 4 $w
}

proc tixComboBox:GoState-9 {w x y X Y} {
    upvar #0 $w data

    catch {
	tkButtonUp $data(w:arrow)
    }
    tixComboBox:GoState 5 $w $x $y $X $Y
}

proc tixComboBox:GoState-10 {w dir} {
    upvar #0 $w data

    tixComboBox:Popup $w
    if {![tixComboBox:CheckListboxSelection $w]} {
	# There wasn't good selection in the listbox.
	#
	tixComboBox:SetSelectionFromListbox $w
    }

    tixComboBox:GoState 2 $w
}

proc tixComboBox:GoState-11 {w dir} {
    upvar #0 $w data

    tixComboBox:HandleDirKey $w $dir

    tixComboBox:GoState 2 $w
}

proc tixComboBox:GoState-12 {w} {
    upvar #0 $w data

    catch {
	tkButtonUp $data(w:arrow)
    }

    tixComboBox:GoState 2 $w
}

proc tixComboBox:GoState-13 {w} {
    upvar #0 $w data

    catch {
	global tkPriv
	if {$tkPriv(afterId) != ""} {
	    tkCancelRepeat
	}
    }
    tixComboBox:GoState 2 $w
}

proc tixComboBox:GoState-14 {w} {
    upvar #0 $w data

    tixComboBox:Invoke $w
    tixComboBox:GoState 0 $w
}

proc tixComboBox:GoState-15 {w} {
    upvar #0 $w data

    tixComboBox:Popdown $w
    set data(ignore) 0
    tixComboBox:GoState 4 $w
}

proc tixComboBox:GoState-16 {w} {
    upvar #0 $w data

    tixComboBox:Popdown $w
    tixComboBox:Cancel $w
    set data(ignore) 1
    tixComboBox:GoState 4 $w
}

proc tixComboBox:GoState-17 {w} {
    upvar #0 $w data

    tixComboBox:Cancel $w
    tixComboBox:GoState 0 $w
}

proc tixComboBox:GoState-19 {w} {
    upvar #0 $w data

    set data(ignore) [string equal $data(-selection) $data(-value)]
    tixComboBox:Popdown $w
}

#----------------------------------------------------------------------
#                      Non-dropdown states
#----------------------------------------------------------------------
proc tixComboBox:GoState-n0 {w} {
    upvar #0 $w data
}

proc tixComboBox:GoState-n1 {w} {
    upvar #0 $w data

    tixComboBox:Invoke $w
    tixComboBox:GoState n0 $w
}

proc tixComboBox:GoState-n3 {w dir} {
    upvar #0 $w data

    tixComboBox:HandleDirKey $w $dir
    tixComboBox:GoState n0 $w
}

proc tixComboBox:GoState-n4 {w} {
    upvar #0 $w data

    tixComboBox:Cancel $w
    tixComboBox:GoState n0 $w
}

proc tixComboBox:GoState-n6 {w x y X Y} {
    upvar #0 $w data

    tixComboBox:LbSelect $w $x $y $X $Y
}

#----------------------------------------------------------------------
#                      General State Manipulation
#----------------------------------------------------------------------
proc tixComboBox:GoState {s w args} {
    upvar #0 $w data

    tixComboBox:SetState $w $s
    eval tixComboBox:GoState-$s $w $args
}

proc tixComboBox:SetState {w s} {
    upvar #0 $w data

#    catch {puts [info level -2]}
#    puts "setting state $data(state) --> $s"
    set data(state) $s
}

proc tixComboBox:StateError {w} {
    upvar #0 $w data

#    error "wrong state $data(state)"
}

#----------------------------------------------------------------------
#                      Listbox handling
#----------------------------------------------------------------------

# Set a selection if there isn't one. Returns true if there was already
# a good selection inside the listbox
#
proc tixComboBox:CheckListboxSelection {w} {
    upvar #0 $w data

    if {![winfo exists $data(w:listbox)]} {
	tixDebug "tixComboBox:CheckListboxSelection error non-existent $data(w:listbox)"
	return 0
    }
    if {[$data(w:listbox) curselection] == ""} {
	if {$data(curIndex) == ""} {
	    set data(curIndex) 0
	}

	$data(w:listbox) activate $data(curIndex)
	$data(w:listbox) selection clear 0 end
	$data(w:listbox) selection set $data(curIndex)
	$data(w:listbox) see $data(curIndex)
	return 0
    } else {
	return 1
    }
}

proc tixComboBox:SetSelectionFromListbox {w} {
    upvar #0 $w data

    set string [$data(w:listbox) get $data(curIndex)] 
    tixComboBox:SetSelection $w $string
    tixComboBox:UpdateListboxSelection $w $data(curIndex)
}

proc tixComboBox:LbGetSelection {w} {
    upvar #0 $w data
    set index [tixComboBox:LbIndex $w emptyOK]

    if {$index >=0} {
	return [$data(w:listbox) get $index]
    } else {
	return ""
    }
}

proc tixComboBox:LbSelect {w x y X Y} {
    upvar #0 $w data

    set index [tixComboBox:LbIndex $w emptyOK]
    if {$index == ""} {
	set index [$data(w:listbox) nearest $y]
    }

    if {$index >= 0} {
	if {[focus -lastfor $data(w:entry)] ne $data(w:entry) &&
	    [focus -lastfor $data(w:entry)] ne $data(w:listbox)} {
	    focus $data(w:entry)
	}

	set string [$data(w:listbox) get $index] 
	tixComboBox:SetSelection $w $string

	tixComboBox:UpdateListboxSelection $w $index
    }
}

#----------------------------------------------------------------------
# Internal commands
#----------------------------------------------------------------------
proc tixComboBox:CrossBtn {w} {
    upvar #0 $w data

    $data(w:entry) delete 0 end
    tixComboBox:ClearListboxSelection $w
    tixComboBox:SetSelection $w ""
}

#--------------------------------------------------
#		Popping up list shell
#--------------------------------------------------

# Popup the listbox and grab
#
#
proc tixComboBox:Popup {w} {
    global tcl_platform
    upvar #0 $w data

    if {![winfo ismapped $data(w:root)]} {
	return
    }

    #---------------------------------------------------------------------
    # 				Pop up
    #
    if {$data(-listcmd) != ""} {
	# This option allows the user to fill in the listbox on demand
	#
	tixEvalCmdBinding $w $data(-listcmd)
    }

    # calculate the size
    set  y [winfo rooty $data(w:entry)]
    incr y [winfo height $data(w:entry)]
    incr y 3

    set bd [$data(w:shell) cget -bd]
#   incr bd [$data(w:shell) cget -highlightthickness]
    set height [expr {[winfo reqheight $data(w:slistbox)] + 2*$bd}]

    set x1 [winfo rootx $data(w:entry)]
    if {$data(-listwidth) == ""} {
	if {[winfo ismapped $data(w:arrow)]} {
	    set x2  [winfo rootx $data(w:arrow)]
	    if {$x2 >= $x1} {
		incr x2 [winfo width $data(w:arrow)]
		set width  [expr {$x2 - $x1}]
	    } else {
		set width  [winfo width $data(w:entry)]
		set x2 [expr {$x1 + $width}]
	    }
	} else {
	    set width  [winfo width $data(w:entry)]
	    set x2 [expr {$x1 + $width}]
	}
    } else {
	set width $data(-listwidth)
	set x2 [expr {$x1 + $width}]
    }

    set reqwidth [winfo reqwidth $data(w:shell)]
    if {$reqwidth < $width} {
	set reqwidth $width
    } else {
	if {$reqwidth > [expr {$width *3}]} {
	    set reqwidth [expr {$width *3}]
	}
	if {$reqwidth > [winfo vrootwidth .]} {
	    set reqwidth [winfo vrootwidth .]
	}
    }
    set width $reqwidth


    # If the listbox is too far right, pull it back to the left
    #
    set scrwidth [winfo vrootwidth .]
    if {$x2 > $scrwidth} {
	set x1 [expr {$scrwidth - $width}]
    }

    # If the listbox is too far left, pull it back to the right
    #
    if {$x1 < 0} {
	set x1 0
    }

    # If the listbox is below bottom of screen, put it upwards
    #
    set scrheight [winfo vrootheight .]
    set bottom [expr {$y+$height}]
    if {$bottom > $scrheight} {
	set y [expr {$y-$height-[winfo height $data(w:entry)]-5}]
    }

    # OK , popup the shell
    #
    global tcl_platform

    wm geometry $data(w:shell) $reqwidth\x$height+$x1+$y
    if {$tcl_platform(platform) eq "windows"} {
	update
    }
    wm deiconify $data(w:shell)
    if {$tcl_platform(platform) eq "windows"} {
	update
    }
    raise $data(w:shell)
    focus $data(w:entry)
    set data(popped) 1

    # add for safety
    update
    
    tixComboBox:Grab $w
}

proc tixComboBox:SetCursor {w cursor} {
    upvar #0 $w data

    $w config -cursor $cursor
}

proc tixComboBox:Popdown {w} {
    upvar #0 $w data

    wm withdraw $data(w:shell)
    tixComboBox:SetCursor $w ""
}

# Grab the server so that user cannot move the windows around
proc tixComboBox:Grab {w} {
    upvar #0 $w data

    tixComboBox:SetCursor $w arrow
    if {[catch {
	# We catch here because grab may fail under a lot of circumstances
	# Just don't want to break the code ...
	switch -exact -- $data(-grab) {
	    global { tixPushGrab -global $data(w:root) }
	    local  { tixPushGrab $data(w:root) }
	}
    } err]} {
	tixDebug "tixComboBox:Grab+: Error grabbing $data(w:root)\n$err"
    }
}

proc tixComboBox:Ungrab {w} {
    upvar #0 $w data

    if {[catch {
	catch {
	    switch -exact -- $data(-grab) {
		global { tixPopGrab }
		local  { tixPopGrab }
	    }
	}
    } err]} {
	tixDebug "tixComboBox:Grab+: Error grabbing $data(w:root)\n$err"
    }
}

#----------------------------------------------------------------------
#		 Alignment
#----------------------------------------------------------------------
# The following two routines can emulate a "right align mode" for the
# entry in the combo box.

proc tixComboBox:EntryAlignEnd {w} {
    upvar #0 $w data
    $data(w:entry) xview end
}


proc tixComboBox:Destructor {w} {
    upvar #0 $w data

    tixUnsetMegaWidget $data(w:entry)
    tixVariable:DeleteVariable $w

    # Chain this to the superclass
    #
    tixChainMethod $w Destructor
}


#----------------------------------------------------------------------
#                           CONFIG OPTIONS
#----------------------------------------------------------------------

proc tixComboBox:config-state {w value} {
    upvar #0 $w data
    catch {if {[$data(w:arrow) cget -state] eq $value} {set a 1}}
    if {[info exists a]} {
	return
    }

    catch {$data(w:arrow) config -state $value}
    catch {$data(w:tick)  config -state $value}
    catch {$data(w:cross) config -state $value}
    catch {$data(w:slistbox) config -state $value}

    if {[string equal $value normal]} {
	set fg [$data(w:arrow) cget -fg]
	set entryFg $data(entryfg)
	set lbSelFg [lindex [$data(w:listbox) config -selectforeground] 3]
	set lbSelBg [lindex [$data(w:listbox) config -selectbackground] 3]
	set entrySelFg [lindex [$data(w:entry) config -selectforeground] 3]
	set entrySelBg [lindex [$data(w:entry) config -selectbackground] 3]
    } else {
	set fg [$data(w:arrow) cget -disabledforeground]
	set entryFg $data(-disabledforeground) 
	set lbSelFg $entryFg
	set lbSelBg [$data(w:listbox) cget -bg]
	set entrySelFg $entryFg
	set entrySelBg [$data(w:entry) cget -bg]
    }
    if {$fg ne ""} {
	$data(w:label) config -fg $fg
	$data(w:listbox) config -fg $fg -selectforeground $lbSelFg \
	  -selectbackground $lbSelBg
    }
    $data(w:entry) config -fg $entryFg -selectforeground $entrySelFg \
      -selectbackground $entrySelBg

    if {$value eq "normal"} {
	if {$data(-editable)} {
	    $data(w:entry) config -state normal
	}
        $data(w:entry) config -takefocus 1
    } else {
	if {$data(-editable)} {
	   $data(w:entry) config -state disabled
        }
        $data(w:entry) config -takefocus 0
    }
}

proc tixComboBox:config-value {w value} {
    upvar #0 $w data

    tixComboBox:SetValue $w $value

    set data(-selection) $value

    if {[tixComboBox:LbGetSelection $w] ne $value} {
	tixComboBox:ClearListboxSelection $w
    }
}

proc tixComboBox:config-selection {w value} {
    upvar #0 $w data

    tixComboBox:SetSelection $w $value

    if {[tixComboBox:LbGetSelection $w] ne $value} {
	tixComboBox:ClearListboxSelection $w
    }
}

proc tixComboBox:config-variable {w arg} {
    upvar #0 $w data

    if {[tixVariable:ConfigVariable $w $arg]} {
       # The value of data(-value) is changed if tixVariable:ConfigVariable 
       # returns true
       set data(-selection) $data(-value)
       tixComboBox:SetValue $w $data(-value) 1
    }
    catch {
	unset data(varInited)
    }
    set data(-variable) $arg
}


#----------------------------------------------------------------------
#                     WIDGET COMMANDS
#----------------------------------------------------------------------
proc tixComboBox:align {w args} {
    upvar #0 $w data

    if {$data(-anchor) eq "e"} {
	tixComboBox:EntryAlignEnd $w
    }
}

proc tixComboBox:addhistory {w value} {
    upvar #0 $w data

    tixComboBox:insert $w 0 $value
    $data(w:listbox) selection clear 0 end

    if {$data(-prunehistory)} {
	# Prune from the end
	# 
	set max [$data(w:listbox) size]
	if {$max <= 1} {
	    return
	}
	for {set i [expr {$max -1}]} {$i >= 1} {incr i -1} {
	    if {[$data(w:listbox) get $i] eq $value} {
		$data(w:listbox) delete $i
		break
	    }
	}
    }
}

proc tixComboBox:appendhistory {w value} {
    upvar #0 $w data

    tixComboBox:insert $w end $value
    $data(w:listbox) selection clear 0 end

    if {$data(-prunehistory)} {
	# Prune from the end
	# 
	set max [$data(w:listbox) size]
	if {$max <= 1} {
	    return
	}
	for {set i [expr {$max -2}]} {$i >= 0} {incr i -1} {
	    if {[$data(w:listbox) get $i] eq $value} {
		$data(w:listbox) delete $i
		break
	    }
	}
    }
}

proc tixComboBox:insert {w index newitem} {
    upvar #0 $w data

    $data(w:listbox) insert $index $newitem

    if {$data(-history) && $data(-historylimit) != ""
	&& [$data(w:listbox) size] eq $data(-historylimit)} {
	$data(w:listbox) delete 0
    }
}

proc tixComboBox:pick {w index} {
    upvar #0 $w data

    $data(w:listbox) activate $index
    $data(w:listbox) selection clear 0 end
    $data(w:listbox) selection set active
    $data(w:listbox) see active
    set text [$data(w:listbox) get $index]

    tixComboBox:SetValue $w $text

    set data(curIndex) $index
}

proc tixComboBox:invoke {w} {
    tixComboBox:Invoke $w
}

proc tixComboBox:popdown {w} {
    upvar #0 $w data

    if {$data(-dropdown)} {
	tixComboBox:Popdown $w
    }
}
PKqm�[u	�[[Tix8.4.3/SText.tclnu�[���# -*- mode: TCL; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*-
#
#	$Id: SText.tcl,v 1.4 2001/12/09 05:04:02 idiscovery Exp $
#
# SText.tcl --
#
#	This file implements Scrolled Text widgets
#
# Copyright (c) 1993-1999 Ioi Kim Lam.
# Copyright (c) 2000-2001 Tix Project Group.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#



tixWidgetClass tixScrolledText {
    -classname TixScrolledText
    -superclass tixScrolledWidget
    -method {
    }
    -flag {
    }
    -static {
    }
    -configspec {
    }
    -default {
	{.scrollbar			both}
	{*Scrollbar.takeFocus		0}
    }
    -forcecall {
	-scrollbar
    }
}

proc tixScrolledText:ConstructWidget {w} {
    upvar #0 $w data
    global tcl_platform

    tixChainMethod $w ConstructWidget

    set data(w:text) \
	[text $w.text]
    set data(w:hsb) \
	[scrollbar $w.hsb -orient horizontal]
    set data(w:vsb) \
	[scrollbar $w.vsb -orient vertical]

    if {$data(-sizebox) && $tcl_platform(platform) == "windows"} {
#       set data(w:sizebox) [ide_sizebox $w.sizebox]
    }

    set data(pw:client) $data(w:text)
}

proc tixScrolledText:SetBindings {w} {
    upvar #0 $w data

    tixChainMethod $w SetBindings

    $data(w:text) config \
	-xscrollcommand "tixScrolledText:XScroll $w"\
	-yscrollcommand "tixScrolledText:YScroll $w"

    $data(w:hsb) config -command "$data(w:text) xview"
    $data(w:vsb) config -command "$data(w:text) yview"
}

#----------------------------------------------------------------------
#
#		option configs
#----------------------------------------------------------------------
proc tixScrolledText:config-takefocus {w value} {
    upvar #0 $w data
  
    $data(w:text) config -takefocus $value
}	

proc tixScrolledText:config-scrollbar {w value} {
    upvar #0 $w data
  
    if {[string match "auto*" $value]} {
	set value "both"
    }
    set data(-scrollbar) $value

    tixChainMethod $w config-scrollbar $value

    return $value
}	

#----------------------------------------------------------------------
#
#		Widget commands
#----------------------------------------------------------------------


#----------------------------------------------------------------------
#
#		Private Methods
#----------------------------------------------------------------------

#----------------------------------------------------------------------
# virtual functions to query the client window's scroll requirement
#----------------------------------------------------------------------
proc tixScrolledText:GeometryInfo {w mW mH} {
    upvar #0 $w data

    return [list "$data(x,first) $data(x,last)" "$data(y,first) $data(y,last)"]
}

proc tixScrolledText:XScroll {w first last} {
    upvar #0 $w data

    set data(x,first) $first
    set data(x,last)  $last

    $data(w:hsb) set $first $last

    tixWidgetDoWhenIdle tixScrolledWidget:Configure $w
}

proc tixScrolledText:YScroll {w first last} {
    upvar #0 $w data

    set data(y,first) $first
    set data(y,last)  $last
    
    $data(w:vsb) set $first $last

    tixWidgetDoWhenIdle tixScrolledWidget:Configure $w
}
PKqm�[(�R=��Tix8.4.3/LabFrame.tclnu�[���# -*- mode: TCL; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*-
#
#	$Id: LabFrame.tcl,v 1.2 2001/12/09 05:04:02 idiscovery Exp $
#
# LabFrame.tcl --
#
# 	TixLabelFrame Widget: a frame box with a label
#
# Copyright (c) 1993-1999 Ioi Kim Lam.
# Copyright (c) 2000-2001 Tix Project Group.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#

tixWidgetClass tixLabelFrame {
    -classname TixLabelFrame
    -superclass tixLabelWidget
    -method {
	frame
    }
    -flag {}
    -static {}
    -configspec {
	{-labelside labelSide LabelSide acrosstop}
	{-padx padX Pad 2}
	{-pady padY Pad 2}
    }
    -alias {}
    -default {
	{*Label.anchor          c}
	{.frame.borderWidth	2}
	{.frame.relief		groove}
	{.border.borderWidth	2}
	{.border.relief		groove}
	{.borderWidth 	 	2}
	{.padX 		 	2}
	{.padY 		 	2}
	{.anchor 	 	sw}
    }
}

#----------------------------------------------------------------------
# Public methods
#----------------------------------------------------------------------
proc tixLabelFrame:frame {w args} {

    return [eval tixCallMethod $w subwidget frame $args]
}
PKqm�[qQe�3�3Tix8.4.3/ResizeH.tclnu�[���# -*- mode: TCL; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*-
#
#	$Id: ResizeH.tcl,v 1.3 2001/12/09 05:04:02 idiscovery Exp $
#
# ResizeH.tcl --
#
#	tixResizeHandle: A general purpose "resizing handle"
#	widget. You can use it to resize pictures, widgets, etc. When
#	using it to resize a widget, you can use the "attachwidget"
#	command to attach it to a widget and it will handle all the
#	events for you.
#
# Copyright (c) 1993-1999 Ioi Kim Lam.
# Copyright (c) 2000-2001 Tix Project Group.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#
#
#

tixWidgetClass tixResizeHandle {
    -classname TixResizeHandle
    -superclass tixVResize

    -method {
	attachwidget detachwidget hide show
    }
    -flag {
	-command -cursorfg -cursorbg -handlesize -hintcolor -hintwidth -x -y
    }
    -configspec {
	{-command command Command ""}
	{-cursorfg cursorFg CursorColor white}
	{-cursorbg cursorBg CursorColor red}
	{-handlesize handleSize HandleSize 6}
	{-hintcolor hintColor HintColor red}
	{-hintwidth hintWidth HintWidth 1}
	{-x x X 0}
	{-y y Y 0}
    }
}

proc tixResizeHandle:InitWidgetRec {w} {
    upvar #0 $w data

    tixChainMethod $w InitWidgetRec

    set data(shown)  0
    set data(widget) ""
}

proc tixResizeHandle:ConstructWidget {w} {
    upvar #0 $w data

    tixChainMethod $w ConstructWidget

    # Create the hints
    #
    set data(w_ht) $w:tix_priv_ht
    set data(w_hb) $w:tix_priv_hb
    set data(w_hl) $w:tix_priv_hl
    set data(w_hr) $w:tix_priv_hr

    frame $data(w_ht) -height $data(-hintwidth) -bg $data(-background)
    frame $data(w_hb) -height $data(-hintwidth) -bg $data(-background)
    frame $data(w_hl) -width  $data(-hintwidth) -bg $data(-background)
    frame $data(w_hr) -width  $data(-hintwidth) -bg $data(-background)

    # Create the corner resize handles
    #
    set data(w_r00) $w

#   Windows don't like this
#    $data(rootCmd) config\
#	-cursor "top_left_corner $data(-cursorbg) $data(-cursorfg)"

    $data(rootCmd) config -cursor top_left_corner

    set data(w_r01) $w:tix_priv_01
    set data(w_r10) $w:tix_priv_10
    set data(w_r11) $w:tix_priv_11

    frame $data(w_r01) -relief $data(-relief) -bd $data(-borderwidth) \
	-cursor "bottom_left_corner"\
	-bg $data(-background)
    frame $data(w_r10) -relief $data(-relief) -bd $data(-borderwidth) \
	-cursor "top_right_corner"\
	-bg $data(-background)
    frame $data(w_r11) -relief $data(-relief) -bd $data(-borderwidth) \
	-cursor "bottom_right_corner"\
	-bg $data(-background)

    # Create the border resize handles
    #
    set data(w_bt)  $w:tix_priv_bt
    set data(w_bb)  $w:tix_priv_bb
    set data(w_bl)  $w:tix_priv_bl
    set data(w_br)  $w:tix_priv_br

    frame $data(w_bt) -relief $data(-relief) -bd $data(-borderwidth) \
	-cursor "top_side"\
	-bg $data(-background)
    frame $data(w_bb) -relief $data(-relief) -bd $data(-borderwidth) \
	-cursor "bottom_side"\
	-bg $data(-background)
    frame $data(w_bl) -relief $data(-relief) -bd $data(-borderwidth) \
	-cursor "left_side"\
	-bg $data(-background)
    frame $data(w_br) -relief $data(-relief) -bd $data(-borderwidth) \
	-cursor "right_side"\
	-bg $data(-background)
}

proc tixResizeHandle:SetBindings {w} {
    upvar #0 $w data

    tixChainMethod $w SetBindings

    bind $data(w_r00)   <1> \
	"tixResizeHandle:dragstart $w $data(w_r00)   1 %X %Y  {1  1 -1 -1}"
    bind $data(w_r01)   <1> \
	"tixResizeHandle:dragstart $w $data(w_r01)   1 %X %Y  {1  0 -1  1}"
    bind $data(w_r10)   <1> \
	"tixResizeHandle:dragstart $w $data(w_r10)   1 %X %Y  {0  1  1 -1}"
    bind $data(w_r11)   <1> \
	"tixResizeHandle:dragstart $w $data(w_r11)   1 %X %Y  {0  0  1  1}"
    bind $data(w_bt)    <1> \
	"tixResizeHandle:dragstart $w $data(w_bt)    1 %X %Y  {0  1  0 -1}"
    bind $data(w_bb)    <1> \
	"tixResizeHandle:dragstart $w $data(w_bb)    1 %X %Y  {0  0  0  1}"
    bind $data(w_bl)    <1> \
	"tixResizeHandle:dragstart $w $data(w_bl)    1 %X %Y  {1  0 -1  0}"
    bind $data(w_br)    <1> \
	"tixResizeHandle:dragstart $w $data(w_br)    1 %X %Y  {0  0  1  0}"

    foreach win [list \
		 $data(w_r00)\
		 $data(w_r01)\
		 $data(w_r10)\
		 $data(w_r11)\
		 $data(w_bt)\
		 $data(w_bb)\
		 $data(w_bl)\
		 $data(w_br)\
		 ] {
	bind $win <B1-Motion>       "tixVResize:drag    $w %X %Y"
	bind $win <ButtonRelease-1> "tixVResize:dragend $w $win 0 %X %Y"
	bind $win <Any-Escape>      "tixVResize:dragend $w $win 1  0  0"
    }
}

#----------------------------------------------------------------------
# 		Config Methods
#----------------------------------------------------------------------
proc tixResizeHandle:config-width {w value} {
    tixWidgetDoWhenIdle tixResizeHandle:ComposeWindow $w
}

proc tixResizeHandle:config-height {w value} {
    tixWidgetDoWhenIdle tixResizeHandle:ComposeWindow $w
}

proc tixResizeHandle:config-x {w value} {
    tixWidgetDoWhenIdle tixResizeHandle:ComposeWindow $w
}

proc tixResizeHandle:config-y {w value} {
    tixWidgetDoWhenIdle tixResizeHandle:ComposeWindow $w
}


#----------------------------------------------------------------------
# 		Public Methods
#----------------------------------------------------------------------
proc tixResizeHandle:dragstart {w win depress rootx rooty mrect} {
    upvar #0 $w data

    set wx $data(-x)
    set wy $data(-y)
    set ww $data(-width)
    set wh $data(-height)

    tixVResize:dragstart $w $win $depress $rootx $rooty \
	[list $wx $wy $ww $wh] $mrect
}

# tixDeleteBindTag --
#
#	Delete the bindtag(s) in the args list from the bindtags of the widget
#
proc tixDeleteBindTag {w args} {
    if {![winfo exists $w]} {
	return
    }
    set newtags ""

    foreach tag [bindtags $w] {
	if {[lsearch $args $tag] == -1} {
	    lappend newtags $tag
	}
    }
    bindtags $w $newtags
}

proc tixAddBindTag {w args} {
    bindtags $w [concat [bindtags $w] $args]
}

proc tixResizeHandle:attachwidget {w widget args} {
    upvar #0 $w data

    set opt(-move) 0
    tixHandleOptions opt {-move} $args

    if {$data(widget) != ""} {
	tixDeleteBindTag $data(widget) TixResizeHandleTag:$w
    }

    set data(widget) $widget

    if {$data(widget) != ""} {
	# Just in case TixResizeHandleTag was already there
	tixDeleteBindTag $data(widget) TixResizeHandleTag:$w
	tixAddBindTag $data(widget) TixResizeHandleTag:$w

	
	set data(-x)      [winfo x      $data(widget)]
	set data(-y)      [winfo y      $data(widget)]
	set data(-width)  [winfo width  $data(widget)]
	set data(-height) [winfo height $data(widget)]

	tixResizeHandle:show $w
	tixResizeHandle:ComposeWindow $w

	# Now set the bindings
	#
	if {$opt(-move)} {
	    bind TixResizeHandleTag:$w <1> \
		"tixResizeHandle:Attach $w %X %Y"
	    bind TixResizeHandleTag:$w <B1-Motion> \
		"tixResizeHandle:BMotion $w %X %Y"
	    bind TixResizeHandleTag:$w <Any-Escape> \
		"tixResizeHandle:BRelease $w 1 %X %Y"
	    bind TixResizeHandleTag:$w <ButtonRelease-1>\
		"tixResizeHandle:BRelease $w 0 %X %Y"
	} else {
	    # if "move" is false, then the widget won't be moved as a whole -- 
	    # ResizeHandle will only move its sides
	    bind TixResizeHandleTag:$w <1> 		 {;}
	    bind TixResizeHandleTag:$w <B1-Motion>	 {;}
	    bind TixResizeHandleTag:$w <Any-Escape>	 {;}
	    bind TixResizeHandleTag:$w <ButtonRelease-1> {;}
	}
    }
}

proc tixResizeHandle:detachwidget {w} {
    upvar #0 $w data

    if {$data(widget) != ""} {
	tixDeleteBindTag $data(widget) TixResizeHandleTag:$w
    }
    tixResizeHandle:hide $w
}

proc tixResizeHandle:show {w} {
    upvar #0 $w data

    set data(shown) 1

    raise $data(w_ht)
    raise $data(w_hb)
    raise $data(w_hl)
    raise $data(w_hr)

    raise $data(w_r00)
    raise $data(w_r01)
    raise $data(w_r10)
    raise $data(w_r11)

    raise $data(w_bt)
    raise $data(w_bb)
    raise $data(w_bl)
    raise $data(w_br)

#   tixCancleIdleTask tixResizeHandle:ComposeWindow $w
    tixResizeHandle:ComposeWindow $w
}


proc tixResizeHandle:hide {w} {
    upvar #0 $w data

    if {!$data(shown)} {
	return
    }

    set data(shown) 0

    place forget $data(w_r00)
    place forget $data(w_r01)
    place forget $data(w_r10)
    place forget $data(w_r11)

    place forget $data(w_bt)
    place forget $data(w_bb)
    place forget $data(w_bl)
    place forget $data(w_br)

    place forget $data(w_ht)
    place forget $data(w_hb)
    place forget $data(w_hl)
    place forget $data(w_hr)
}

proc tixResizeHandle:Destructor {w} {
    upvar #0 $w data

    if {$data(widget) != ""} {
	tixDeleteBindTag $data(widget) TixResizeHandleTag:$w
    }

    catch {destroy $data(w_r01)}
    catch {destroy $data(w_r10)}
    catch {destroy $data(w_r11)}

    catch {destroy $data(w_bt)}
    catch {destroy $data(w_bb)}
    catch {destroy $data(w_bl)}
    catch {destroy $data(w_br)}

    catch {destroy $data(w_ht)}
    catch {destroy $data(w_hb)}
    catch {destroy $data(w_hl)}
    catch {destroy $data(w_hr)}

    tixChainMethod $w Destructor
}

#----------------------------------------------------------------------
# 	  Private Methods Dealing With Attached Widgets
#----------------------------------------------------------------------
proc tixResizeHandle:Attach {w rx ry} {
    upvar #0 $w data

    tixResizeHandle:dragstart $w $data(widget) 0 $rx $ry {1 1 0 0}
}

proc tixResizeHandle:BMotion {w rx ry} {
    tixVResize:drag $w $rx $ry
}


proc tixResizeHandle:BRelease {w isAbort rx ry} {
    upvar #0 $w data

    tixVResize:dragend $w $data(widget) $isAbort $rx $ry
}

#----------------------------------------------------------------------
# 		Private Methods
#----------------------------------------------------------------------
proc tixResizeHandle:DrawTmpLines {w} {
    upvar #0 $w data

    # I've seen this error - mike
    if {![info exists data(hf:x1)]} {return}
    set x1 $data(hf:x1)
    if {![info exists data(hf:y1)]} {return}
    set y1 $data(hf:y1)
    if {![info exists data(hf:x2)]} {return}
    set x2 $data(hf:x2)
    if {![info exists data(hf:y2)]} {return}
    set y2 $data(hf:y2)

    tixTmpLine $x1 $y1 $x2 $y1 $w
    tixTmpLine $x1 $y2 $x2 $y2 $w
    tixTmpLine $x1 $y1 $x1 $y2 $w
    tixTmpLine $x2 $y1 $x2 $y2 $w
}

# Place the hint frame to indicate the changes
#
proc tixResizeHandle:SetHintFrame {w x1 y1 width height} {
    upvar #0 $w data

    # The four sides of the window
    #
    set x2 [expr "$x1+$width"]
    set y2 [expr "$y1+$height"]

    set rx [winfo rootx [winfo parent $w]]
    set ry [winfo rooty [winfo parent $w]]

    incr x1 $rx
    incr y1 $ry
    incr x2 $rx
    incr y2 $ry

    if {[info exists data(hf:x1)]} {
	tixResizeHandle:DrawTmpLines $w
    }

    set data(hf:x1) $x1
    set data(hf:y1) $y1
    set data(hf:x2) $x2
    set data(hf:y2) $y2

    tixResizeHandle:DrawTmpLines $w
}

proc tixResizeHandle:ShowHintFrame {w} {
    upvar #0 $w data

    place forget $data(w_ht)
    place forget $data(w_hb)
    place forget $data(w_hl)
    place forget $data(w_hr)

    update
}

proc tixResizeHandle:HideHintFrame {w} {
    upvar #0 $w data

    tixResizeHandle:DrawTmpLines $w
    unset data(hf:x1)
    unset data(hf:y1)
    unset data(hf:x2)
    unset data(hf:y2)
}

proc tixResizeHandle:UpdateSize {w x y width height} {
    upvar #0 $w data

    set data(-x)      $x
    set data(-y)      $y
    set data(-width)  $width
    set data(-height) $height

    tixResizeHandle:ComposeWindow $w

    if {$data(widget) != ""} {
	place $data(widget) -x $x -y $y -width $width -height $height
    }

    if {$data(-command) != ""} {
	eval $data(-command) $x $y $width $height
    }
}

proc tixResizeHandle:ComposeWindow {w} {
    upvar #0 $w data

    set px $data(-x)
    set py $data(-y)
    set pw $data(-width)
    set ph $data(-height)

    # Show the hint frames
    #
    set x1 $px
    set y1 $py
    set x2 [expr "$px+$pw"]
    set y2 [expr "$py+$ph"]

    place $data(w_ht) -x $x1 -y $y1 -width  $pw -bordermode outside
    place $data(w_hb) -x $x1 -y $y2 -width  $pw -bordermode outside
    place $data(w_hl) -x $x1 -y $y1 -height $ph -bordermode outside
    place $data(w_hr) -x $x2 -y $y1 -height $ph -bordermode outside

    # Set the four corner resize handles
    #
    set sz_2 [expr $data(-handlesize)/2]

    set x1 [expr "$px - $sz_2"]
    set y1 [expr "$py - $sz_2"]
    set x2 [expr "$px - $sz_2" + $pw]
    set y2 [expr "$py - $sz_2" + $ph]

    place $data(w_r00) -x $x1 -y $y1 \
	-width $data(-handlesize) -height $data(-handlesize)
    place $data(w_r01) -x $x1 -y $y2\
	-width $data(-handlesize) -height $data(-handlesize)
    place $data(w_r10) -x $x2 -y $y1\
	-width $data(-handlesize) -height $data(-handlesize)
    place $data(w_r11) -x $x2 -y $y2\
	-width $data(-handlesize) -height $data(-handlesize)


    # Set the four border resize handles
    #
    set mx [expr "$px + $pw/2 - $sz_2"]
    set my [expr "$py + $ph/2 - $sz_2"]

    place $data(w_bt) -x $mx -y $y1 \
	-width $data(-handlesize) -height $data(-handlesize)
    place $data(w_bb) -x $mx -y $y2 \
	-width $data(-handlesize) -height $data(-handlesize)
    place $data(w_bl) -x $x1 -y $my \
	-width $data(-handlesize) -height $data(-handlesize)
    place $data(w_br) -x $x2 -y $my \
	-width $data(-handlesize) -height $data(-handlesize)
}
PKqm�[��nYFYFTix8.4.3/TList.tclnu�[���# -*- mode: TCL; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*-
#
#	$Id: TList.tcl,v 1.6 2002/01/24 09:13:58 idiscovery Exp $
#
# TList.tcl --
#
#	This file defines the default bindings for Tix Tabular Listbox
#	widgets.
#
# Copyright (c) 1993-1999 Ioi Kim Lam.
# Copyright (c) 2000-2001 Tix Project Group.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#

global tkPriv
if {![llength [info globals tkPriv]]} {
    tk::unsupported::ExposePrivateVariable tkPriv
}

#--------------------------------------------------------------------------
# tkPriv elements used in this file:
#
# afterId -		Token returned by "after" for autoscanning.
# fakeRelease -		Cancel the ButtonRelease-1 after the user double click
#--------------------------------------------------------------------------
#
proc tixTListBind {} {
    tixBind TixTList <ButtonPress-1> {
	tixTList:Button-1 %W %x %y
    }
    tixBind TixTList <Shift-ButtonPress-1> {
	tixTList:Shift-Button-1 %W %x %y
    }
    tixBind TixTList <Control-ButtonPress-1> {
	tixTList:Control-Button-1 %W %x %y
    }
    tixBind TixTList <ButtonRelease-1> {
	tixTList:ButtonRelease-1 %W %x %y
    }
    tixBind TixTList <Double-ButtonPress-1> {
	tixTList:Double-1 %W  %x %y
    }
    tixBind TixTList <B1-Motion> {
	set tkPriv(x) %x 
	set tkPriv(y) %y
	set tkPriv(X) %X
	set tkPriv(Y) %Y

	tixTList:B1-Motion %W %x %y
    }
    tixBind TixTList <Control-B1-Motion> {
	set tkPriv(x) %x 
	set tkPriv(y) %y
	set tkPriv(X) %X
	set tkPriv(Y) %Y

	tixTList:Control-B1-Motion %W %x %y
    }
    tixBind TixTList <B1-Leave> {
	set tkPriv(x) %x 
	set tkPriv(y) %y
	set tkPriv(X) %X
	set tkPriv(Y) %Y

	tixTList:B1-Leave %W
    }
    tixBind TixTList <B1-Enter> {
	tixTList:B1-Enter %W %x %y
    }
    tixBind TixTList <Control-B1-Leave> {
	set tkPriv(x) %x 
	set tkPriv(y) %y
	set tkPriv(X) %X
	set tkPriv(Y) %Y

	tixTList:Control-B1-Leave %W
    }
    tixBind TixTList <Control-B1-Enter> {
	tixTList:Control-B1-Enter %W %x %y
    }

    # Keyboard bindings
    #
    tixBind TixTList <Up> {
	tixTList:DirKey %W up
    }
    tixBind TixTList <Down> {
	tixTList:DirKey %W down
    }
    tixBind TixTList <Left> {
	tixTList:DirKey %W left
    }
    tixBind TixTList <Right> {
	tixTList:DirKey %W right
    }
    tixBind TixTList <Prior> {
	%W yview scroll -1 pages
    }
    tixBind TixTList <Next> {
	%W yview scroll 1 pages
    }
    tixBind TixTList <Return> {
	tixTList:Return %W 
    }
    tixBind TixTList <space> {
	tixTList:Space %W 
    }
    #
    # Don't use tixBind because %A causes Tk 8.3.2 to crash
    #
    bind TixTList <MouseWheel> {
        if {"[%W cget -orient]" == "vertical"} {
            %W xview scroll [expr {- (%D / 120) * 4}] units
        } else {
            %W yview scroll [expr {- (%D / 120) * 2}] units
        }
    }
}

#----------------------------------------------------------------------
#
#
#			 Mouse bindings
#
#
#----------------------------------------------------------------------

proc tixTList:Button-1 {w x y} {
    if {[$w cget -state] == "disabled"} {
	return
    }
    if {[$w cget -takefocus]} {
	focus $w
    }
    case [tixTList:GetState $w] {
	{s0} {
	    tixTList:GoState s1 $w $x $y
       	}
	{b0} {
	    tixTList:GoState b1 $w $x $y
       	}
	{m0} {
	    tixTList:GoState m1 $w $x $y
       	}
	{e0} {
	    tixTList:GoState e1 $w $x $y
       	}
    }
}

proc tixTList:Shift-Button-1 {w x y} {
    if {[$w cget -state] == "disabled"} {
	return
    }
    if {[$w cget -takefocus]} {
	focus $w
    }
    case [tixTList:GetState $w] {
	{s0} {
	    tixTList:GoState s1 $w $x $y
       	}
	{b0} {
	    tixTList:GoState b1 $w $x $y
       	}
	{m0} {
	    tixTList:GoState m7 $w $x $y
       	}
	{e0} {
	    tixTList:GoState e7 $w $x $y
       	}
    }
}

proc tixTList:Control-Button-1 {w x y} {
    if {[$w cget -state] == "disabled"} {
	return
    }
    if {[$w cget -takefocus]} {
	focus $w
    }
    case [tixTList:GetState $w] {
	{s0} {
	    tixTList:GoState s1 $w $x $y
       	}
	{b0} {
	    tixTList:GoState b1 $w $x $y
       	}
	{m0} {
	    tixTList:GoState m1 $w $x $y
       	}
	{e0} {
	    tixTList:GoState e10 $w $x $y
       	}
    }
}

proc tixTList:ButtonRelease-1 {w x y} {
    case [tixTList:GetState $w] {
	{s2 s4 s5 s6} {
	    tixTList:GoState s3 $w
	}
	{b2 b4 b5 b6} {
	    tixTList:GoState b3 $w
	}
	{m2} {
	    tixTList:GoState m3 $w
	}
	{m5} {
	    tixTList:GoState m6 $w $x $y
	}
	{m9} {
	    tixTList:GoState m0 $w
	}
	{e2} {
	    tixTList:GoState e3 $w
	}
	{e5} {
	    tixTList:GoState e6 $w $x $y
	}
	{e9} {
	    tixTList:GoState e0 $w
	}
    }
}

proc tixTList:B1-Motion {w x y} {
    case [tixTList:GetState $w] {
	{s2 s4} {
	    tixTList:GoState s4 $w $x $y 
	}
	{b2 b4} {
	    tixTList:GoState b4 $w $x $y 
	}
	{m2 m5} {
	    tixTList:GoState m4 $w $x $y 
	}
	{e2 e5} {
	    tixTList:GoState e4 $w $x $y 
	}
    }
}

proc tixTList:Control-B1-Motion {w x y} {
    case [tixTList:GetState $w] {
	{s2 s4} {
	    tixTList:GoState s4 $w $x $y 
	}
	{b2 b4} {
	    tixTList:GoState b4 $w $x $y 
	}
	{m2 m5} {
	    tixTList:GoState m4 $w $x $y 
	}
    }
}

proc tixTList:Double-1 {w x y} {
    case [tixTList:GetState $w] {
	{s0} {
	    tixTList:GoState s7 $w $x $y
	}
	{b0} {
	    tixTList:GoState b7 $w $x $y
	}
    }
}

proc tixTList:B1-Leave {w} {
    case [tixTList:GetState $w] {
	{s2 s4} {
	    tixTList:GoState s5 $w
	}
	{b2 b4} {
	    tixTList:GoState b5 $w
	}
	{m2 m5} {
	    tixTList:GoState m8 $w
	}
	{e2 e5} {
	    tixTList:GoState e8 $w
	}
    }
}

proc tixTList:B1-Enter {w x y} {
    case [tixTList:GetState $w] {
	{s5 s6} {
	    tixTList:GoState s4 $w $x $y
	}
	{b5 b6} {
	    tixTList:GoState b4 $w $x $y
	}
	{m8 m9} {
	    tixTList:GoState m4 $w $x $y
	}
	{e8 e9} {
	    tixTList:GoState e4 $w $x $y
	}
    }
}

proc tixTList:Control-B1-Leave {w} {
    case [tixTList:GetState $w] {
	{s2 s4} {
	    tixTList:GoState s5 $w
	}
	{b2 b4} {
	    tixTList:GoState b5 $w
	}
	{m2 m5} {
	    tixTList:GoState m8 $w
	}
    }
}

proc tixTList:Control-B1-Enter {w x y} {
    case [tixTList:GetState $w] {
	{s5 s6} {
	    tixTList:GoState s4 $w $x $y
	}
	{b5 b6} {
	    tixTList:GoState b4 $w $x $y
	}
	{m8 m9} {
	    tixTList:GoState m4 $w $x $y
	}
    }
}

proc tixTList:AutoScan {w} {
    case [tixTList:GetState $w] {
	{s5 s6} {
	    tixTList:GoState s6 $w
	}
	{b5 b6} {
	    tixTList:GoState b6 $w
	}
	{m8 m9} {
	    tixTList:GoState m9 $w
	}
	{e8 e9} {
	    tixTList:GoState e9 $w
	}
    }
}

#----------------------------------------------------------------------
#
#
#			 Key bindings
#
#
#----------------------------------------------------------------------
proc tixTList:DirKey {w key} {
    if {[$w cget -state] == "disabled"} {
	return
    }
    case [tixTList:GetState $w] {
	{s0} {
	    tixTList:GoState s8 $w $key
       	}
	{b0} {
	    tixTList:GoState b8 $w $key
       	}
    }
}

proc tixTList:Return {w} {
    if {[$w cget -state] == "disabled"} {
	return
    }
    case [tixTList:GetState $w] {
	{s0} {
	    tixTList:GoState s9 $w
       	}
	{b0} {
	    tixTList:GoState b9 $w
       	}
    }
}

proc tixTList:Space {w} {
    if {[$w cget -state] == "disabled"} {
	return
    }
    case [tixTList:GetState $w] {
	{s0} {
	    tixTList:GoState s10 $w
       	}
 	{b0} {
	    tixTList:GoState b10 $w
       	}
   }
}

#----------------------------------------------------------------------
#
#			STATE MANIPULATION
#
#
#----------------------------------------------------------------------
proc tixTList:GetState {w} {
    global $w:priv:state

    if {[info exists $w:priv:state]} {
        #
        # If the app has changed the selectmode, reset the state to the
        # original state.
        #
        set type [string index [$w cget -selectmode] 0]
        if {"[string index [set $w:priv:state] 0]" != "$type"} {
            unset $w:priv:state
        }
    }

    if {![info exists $w:priv:state]} {
	case [$w cget -selectmode] {
	    single {
		set $w:priv:state s0
	    }
	    browse {
		set $w:priv:state b0
	    }
	    multiple {
		set $w:priv:state m0
	    }
	    extended {
		set $w:priv:state e0
	    }
	    default {
		set $w:priv:state unknown
	    }
	}
    }
    return [set $w:priv:state]
}

proc tixTList:SetState {w n} {
    global $w:priv:state

    set $w:priv:state $n
}

proc tixTList:GoState {n w args} {

#   puts "going from [tixTList:GetState $w] --> $n"

    tixTList:SetState $w $n
    eval tixTList:GoState-$n $w $args
}

#----------------------------------------------------------------------
#			States
#----------------------------------------------------------------------

#----------------------------------------------------------------------
#	SINGLE SELECTION
#----------------------------------------------------------------------
proc tixTList:GoState-s0 {w} {
}

proc tixTList:GoState-s1 {w x y} {
    set ent [$w nearest $x $y]
    if {$ent != ""} {
	$w anchor set $ent
        $w see $ent
    }
    tixTList:GoState s2 $w
}

proc tixTList:GoState-s2 {w} {
}

proc tixTList:GoState-s3 {w} {
    set ent [$w info anchor]
    if {$ent != ""} {
	$w selection clear
	$w selection set $ent
	tixTList:CallBrowseCmd $w $ent
    }
    tixTList:GoState s0 $w
}

proc tixTList:GoState-s4 {w x y} {
    set ent [$w nearest $x $y]
    if {$ent != ""} {
	$w anchor set $ent
        $w see $ent
    }
}

proc tixTList:GoState-s5 {w} {
    tixTList:StartScan $w
}

proc tixTList:GoState-s6 {w} {
    global tkPriv

    tixTList:DoScan $w
}

proc tixTList:GoState-s7 {w x y} {
    set ent [$w nearest $x $y]

    if {$ent != ""} {
	$w selection clear
	$w selection set $ent
	tixTList:CallCommand $w $ent
    }
    tixTList:GoState s0 $w
}

proc tixTList:GoState-s8 {w key} {
    set anchor [$w info anchor]

    if {$anchor == ""} {
	set anchor 0
    } else {
	set anchor [$w info $key $anchor]
    }

    $w anchor set $anchor
    $w see $anchor
    tixTList:GoState s0 $w
}

proc tixTList:GoState-s9 {w} {
    set anchor [$w info anchor]

    if {$anchor == ""} {
	set anchor 0
	$w anchor set $anchor
	$w see $anchor
    }

    if {[$w info anchor] != ""} {
	# ! may not have any elements
	#
	tixTList:CallCommand $w [$w info anchor]
	$w selection clear 
	$w selection set $anchor
    }

    tixTList:GoState s0 $w
}

proc tixTList:GoState-s10 {w} {
    set anchor [$w info anchor]

    if {$anchor == ""} {
	set anchor 0
	$w anchor set $anchor
	$w see $anchor
    }

    if {[$w info anchor] != ""} {
	# ! may not have any elements
	#
	tixTList:CallBrowseCmd $w [$w info anchor]
	$w selection clear 
	$w selection set $anchor
    }

    tixTList:GoState s0 $w
}

#----------------------------------------------------------------------
#	BROWSE SELECTION
#----------------------------------------------------------------------
proc tixTList:GoState-b0 {w} {
}

proc tixTList:GoState-b1 {w x y} {
    set ent [$w nearest $x $y]
    if {$ent != ""} {
	$w anchor set $ent
        $w see $ent
	$w selection clear
	$w selection set $ent
	tixTList:CallBrowseCmd $w $ent
    }
    tixTList:GoState b2 $w
}

proc tixTList:GoState-b2 {w} {
}

proc tixTList:GoState-b3 {w} {
    set ent [$w info anchor]
    if {$ent != ""} {
	$w selection clear
	$w selection set $ent
	tixTList:CallBrowseCmd $w $ent
    }
    tixTList:GoState b0 $w
}

proc tixTList:GoState-b4 {w x y} {
    set ent [$w nearest $x $y]
    if {$ent != ""} {
	$w anchor set $ent
        $w see $ent
	$w selection clear
	$w selection set $ent
	tixTList:CallBrowseCmd $w $ent
    }
}

proc tixTList:GoState-b5 {w} {
    tixTList:StartScan $w
}

proc tixTList:GoState-b6 {w} {
    global tkPriv

    tixTList:DoScan $w
}

proc tixTList:GoState-b7 {w x y} {
    set ent [$w nearest $x $y]

    if {$ent != ""} {
	$w selection clear
	$w selection set $ent
	tixTList:CallCommand $w $ent
    }
    tixTList:GoState b0 $w
}

proc tixTList:GoState-b8 {w key} {
    set anchor [$w info anchor]

    if {$anchor == ""} {
	set anchor 0
    } else {
	set anchor [$w info $key $anchor]
    }

    $w anchor set $anchor
    $w selection clear
    $w selection set $anchor
    $w see $anchor

    tixTList:CallBrowseCmd $w $anchor
    tixTList:GoState b0 $w
}

proc tixTList:GoState-b9 {w} {
    set anchor [$w info anchor]

    if {$anchor == ""} {
	set anchor 0
	$w anchor set $anchor
	$w see $anchor
    }

    if {[$w info anchor] != ""} {
	# ! may not have any elements
	#
	tixTList:CallCommand $w [$w info anchor]
	$w selection clear 
	$w selection set $anchor
    }

    tixTList:GoState b0 $w
}

proc tixTList:GoState-b10 {w} {
    set anchor [$w info anchor]

    if {$anchor == ""} {
	set anchor 0
	$w anchor set $anchor
	$w see $anchor
    }

    if {[$w info anchor] != ""} {
	# ! may not have any elements
	#
	tixTList:CallBrowseCmd $w [$w info anchor]
	$w selection clear 
	$w selection set $anchor
    }

    tixTList:GoState b0 $w
}

#----------------------------------------------------------------------
#	MULTIPLE SELECTION
#----------------------------------------------------------------------
proc tixTList:GoState-m0 {w} {
}

proc tixTList:GoState-m1 {w x y} {
    set ent [$w nearest $x $y]
    if {$ent != ""} {
	$w anchor set $ent
        $w see $ent
	$w selection clear
	$w selection set $ent
	tixTList:CallBrowseCmd $w $ent
    }
    tixTList:GoState m2 $w
}

proc tixTList:GoState-m2 {w} {
}

proc tixTList:GoState-m3 {w} {
    set ent [$w info anchor]
    if {$ent != ""} {
	tixTList:CallBrowseCmd $w $ent
    }
    tixTList:GoState m0 $w
}

proc tixTList:GoState-m4 {w x y} {
    set from [$w info anchor]
    set to   [$w nearest $x $y]
    if {$to != ""} {
	$w selection clear
	$w selection set $from $to
	tixTList:CallBrowseCmd $w $to
    }
    tixTList:GoState m5 $w
}

proc tixTList:GoState-m5 {w} {
}

proc tixTList:GoState-m6 {w x y} {
    set ent [$w nearest $x $y]
    if {$ent != ""} {
	tixTList:CallBrowseCmd $w $ent
    }
    tixTList:GoState m0 $w  
}

proc tixTList:GoState-m7 {w x y} {
    set from [$w info anchor]
    set to   [$w nearest $x $y]
    if {$from == ""} {
	set from $to
	$w anchor set $from
        $w see $from
    }
    if {$to != ""} {
	$w selection clear
	$w selection set $from $to
	tixTList:CallBrowseCmd $w $to
    }
    tixTList:GoState m5 $w
}


proc tixTList:GoState-m8 {w} {
    tixTList:StartScan $w
}

proc tixTList:GoState-m9 {w} {
    tixTList:DoScan $w
}

proc tixTList:GoState-xm7 {w x y} {
    set ent [$w nearest $x $y]

    if {$ent != ""} {
	$w selection clear
	$w selection set $ent
	tixTList:CallCommand $w $ent
    }
    tixTList:GoState m0 $w
}

#----------------------------------------------------------------------
#	EXTENDED SELECTION
#----------------------------------------------------------------------
proc tixTList:GoState-e0 {w} {
}

proc tixTList:GoState-e1 {w x y} {
    set ent [$w nearest $x $y]
    if {$ent != ""} {
	$w anchor set $ent
        $w see $ent
	$w selection clear
	$w selection set $ent
	tixTList:CallBrowseCmd $w $ent
    }
    tixTList:GoState e2 $w
}

proc tixTList:GoState-e2 {w} {
}

proc tixTList:GoState-e3 {w} {
    set ent [$w info anchor]
    if {$ent != ""} {
	tixTList:CallBrowseCmd $w $ent
    }
    tixTList:GoState e0 $w
}

proc tixTList:GoState-e4 {w x y} {
    set from [$w info anchor]
    set to   [$w nearest $x $y]
    if {$to != ""} {
	$w selection clear
	$w selection set $from $to
	tixTList:CallBrowseCmd $w $to
    }
    tixTList:GoState e5 $w
}

proc tixTList:GoState-e5 {w} {
}

proc tixTList:GoState-e6 {w x y} {
    set ent [$w nearest $x $y]
    if {$ent != ""} {
	tixTList:CallBrowseCmd $w $ent
    }
    tixTList:GoState e0 $w  
}

proc tixTList:GoState-e7 {w x y} {
    set from [$w info anchor]
    set to   [$w nearest $x $y]
    if {$from == ""} {
	set from $to
	$w anchor set $from
        $w see $from
    }
    if {$to != ""} {
	$w selection clear
	$w selection set $from $to
	tixTList:CallBrowseCmd $w $to
    }
    tixTList:GoState e5 $w
}


proc tixTList:GoState-e8 {w} {
    tixTList:StartScan $w
}

proc tixTList:GoState-e9 {w} {
    tixTList:DoScan $w
}

proc tixTList:GoState-e10 {w x y} {
    set ent [$w nearest $x $y]
    if {$ent != ""} {
	if {[$w info anchor] == ""} {
	    $w anchor set $ent
	    $w see $ent
	}
	if {[$w selection includes $ent]} {
	    $w selection clear $ent
	} else {
	    $w selection set $ent
	}
	tixTList:CallBrowseCmd $w $ent
    }
    tixTList:GoState e2 $w
}

proc tixTList:GoState-xm7 {w x y} {
    set ent [$w nearest $x $y]

    if {$ent != ""} {
	$w selection clear
	$w selection set $ent
	tixTList:CallCommand $w $ent
    }
    tixTList:GoState e0 $w
}

#----------------------------------------------------------------------
#			callback actions
#----------------------------------------------------------------------
proc tixTList:SetAnchor {w x y} {
    set ent [$w nearest $x $y]
    if {$ent != "" && [$w entrycget $ent -state] != "disabled"} {
	$w anchor set $ent
	$w see $ent
	return $ent
    }

    return ""
}

proc tixTList:Select {w ent} {
    $w selection clear
    $w select set $ent
}

proc tixTList:StartScan {w} {
    global tkPriv
    set tkPriv(afterId) [after 50 tixTList:AutoScan $w]
}

proc tixTList:DoScan {w} {
    global tkPriv
    set x $tkPriv(x)
    set y $tkPriv(y)
    set X $tkPriv(X)
    set Y $tkPriv(Y)

    set out 0
    if {$y >= [winfo height $w]} {
	$w yview scroll 1 units
	set out 1
    }
    if {$y < 0} {
	$w yview scroll -1 units
	set out 1
    }
    if {$x >= [winfo width $w]} {
	$w xview scroll 2 units
	set out 1
    } 
    if {$x < 0} {
	$w xview scroll -2 units
	set out 1
    }

    if {$out} {
	set tkPriv(afterId) [after 50 tixTList:AutoScan $w]
    }
}

proc tixTList:CallBrowseCmd {w ent} {
    set browsecmd [$w cget -browsecmd]
    if {$browsecmd != ""} {
	set bind(specs) {%V}
	set bind(%V)    $ent

	tixEvalCmdBinding $w $browsecmd bind $ent
    }
}

proc tixTList:CallCommand {w ent} {
    set command [$w cget -command]
    if {$command != ""} {
	set bind(specs) {%V}
	set bind(%V)    $ent

	tixEvalCmdBinding $w $command bind $ent
    }
}
PKqm�[��))Tix8.4.3/Primitiv.tclnu�[���# -*- mode: TCL; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*-
#
#	$Id: Primitiv.tcl,v 1.7 2004/03/28 02:44:57 hobbs Exp $
#
# Primitiv.tcl --
#
#	This is the primitive widget. It is just a frame with proper
#	inheritance wrapping. All new Tix widgets will be derived from
#	this widget
#
# Copyright (c) 1993-1999 Ioi Kim Lam.
# Copyright (c) 2000-2001 Tix Project Group.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#


# No superclass, so the superclass switch is not used
#
#
tixWidgetClass tixPrimitive {
    -virtual true
    -superclass {}
    -classname  TixPrimitive
    -method {
	cget configure subwidget subwidgets
    }
    -flag {
	-background -borderwidth -cursor
	-height -highlightbackground -highlightcolor -highlightthickness
	-options -relief -takefocus -width -bd -bg
    }
    -static {
	-options
    }
    -configspec {
	{-background background Background #d9d9d9}
	{-borderwidth borderWidth BorderWidth 0}
	{-cursor cursor Cursor ""}
	{-height height Height 0}
	{-highlightbackground highlightBackground HighlightBackground #c3c3c3}
	{-highlightcolor highlightColor HighlightColor black}
	{-highlightthickness highlightThickness HighlightThickness 0}
	{-options options Options ""}
	{-relief relief Relief flat}
	{-takefocus takeFocus TakeFocus 0 tixVerifyBoolean}
	{-width width Width 0}
    }
    -alias {
	{-bd -borderwidth}
	{-bg -background}
    }
}

#----------------------------------------------------------------------
# ClassInitialization:
#----------------------------------------------------------------------

# not used
# Implemented in C
#
# Override: never
proc tixPrimitive:Constructor {w args} {

    upvar #0 $w data
    upvar #0 $data(className) classRec

    # Set up some minimal items in the class record.
    #
    set data(w:root)  $w
    set data(rootCmd) $w:root

    # We need to create the root widget in order to parse the options
    # database
    tixCallMethod $w CreateRootWidget

    # Parse the default options from the options database
    #
    tixPrimitive:ParseDefaultOptions $w

    # Parse the options supplied by the user
    #
    tixPrimitive:ParseUserOptions $w $args

    # Rename the widget command so that it can be use to access
    # the methods of this class

    tixPrimitive:MkWidgetCmd $w

    # Inistalize the Widget Record
    #
    tixCallMethod $w InitWidgetRec

    # Construct the compound widget
    #
    tixCallMethod $w ConstructWidget

    # Do the bindings
    #
    tixCallMethod $w SetBindings

    # Call the configuration methods for all "force call" options
    #
    foreach option $classRec(forceCall) {
	tixInt_ChangeOptions $w $option $data($option)
    }
}


# Create only the root widget. We need the root widget to query the option
# database.
#
# Override: seldom. (unless you want to use a toplevel as root widget)
# Chain   : never.

proc tixPrimitive:CreateRootWidget {w args} {
    upvar #0 $w data
    upvar #0 $data(className) classRec

    frame $w -class $data(ClassName)
}

proc tixPrimitive:ParseDefaultOptions {w} {
    upvar #0 $w data
    upvar #0 $data(className) classRec

    # SET UP THE INSTANCE RECORD ACCORDING TO DEFAULT VALUES IN
    # THE OPTIONS DATABASE
    #
    foreach option $classRec(options) {
	set spec [tixInt_GetOptionSpec $data(className) $option]

	if {[lindex $spec 0] eq "="} {
	    continue
	}

	set o_name    [lindex $spec 1]
	set o_class   [lindex $spec 2]
	set o_default [lindex $spec 3]

	if {![catch {option get $w $o_name $o_class} db_default]} {
	    if {$db_default ne ""} {
		set data($option) $db_default
	    } else {
		set data($option) $o_default
	    }
	} else {
	    set data($option) $o_default
	}
    }
}

proc tixPrimitive:ParseUserOptions {w arglist} {
    upvar #0 $w data
    upvar #0 $data(className) classRec

    # SET UP THE INSTANCE RECORD ACCORDING TO COMMAND ARGUMENTS FROM
    # THE USER OF THE TIX LIBRARY (i.e. Application programmer:)
    #
    foreach {option arg} $arglist {
	if {[lsearch $classRec(options) $option] != "-1"} {
	    set spec [tixInt_GetOptionSpec $data(className) $option]

	    if {[lindex $spec 0] ne "="} {
		set data($option) $arg
	    } else {
		set realOption [lindex $spec 1]
		set data($realOption) $arg
	    }
	} else {
	    error "unknown option $option. Should be: [tixInt_ListOptions $w]"
	}
    }
}

#----------------------------------------------------------------------
# Initialize the widget record
# 
#
# Override: always
# Chain   : always, before
proc tixPrimitive:InitWidgetRec {w} {
    # default: do nothing
}

#----------------------------------------------------------------------
# SetBindings
# 
#
# Override: sometimes
# Chain   : sometimes, before
#
bind TixDestroyHandler <Destroy> {
    [tixGetMethod %W [set %W(className)] Destructor] %W
}

proc tixPrimitive:SetBindings {w} {
    upvar #0 $w data

    if {[winfo toplevel $w] eq $w} {
	bindtags $w [concat TixDestroyHandler [bindtags $w]]
    } else {
	bind $data(w:root) <Destroy> \
	    "[tixGetMethod $w $data(className) Destructor] $w"
    }
}

#----------------------------------------------------------------------
# PrivateMethod: ConstructWidget
# 
# Construct and set up the compound widget
#
# Override: sometimes
# Chain   : sometimes, before
#
proc tixPrimitive:ConstructWidget {w} {
    upvar #0 $w data

    $data(rootCmd) config \
	-background  $data(-background) \
	-borderwidth $data(-borderwidth) \
	-cursor      $data(-cursor) \
	-relief      $data(-relief)

    if {$data(-width) != 0} {
	$data(rootCmd) config -width $data(-width)
    }
    if {$data(-height) != 0} {
	$data(rootCmd) config -height $data(-height)
    }

    set rootname *[string range $w 1 end]

    foreach {spec value} $data(-options) {
	option add $rootname*$spec $value 100
    }
}

#----------------------------------------------------------------------
# PrivateMethod: MkWidgetCmd
# 
# Construct and set up the compound widget
#
# Override: sometimes
# Chain   : sometimes, before
#
proc tixPrimitive:MkWidgetCmd {w} {
    upvar #0 $w data

    rename $w $data(rootCmd)
    tixInt_MkInstanceCmd $w
}


#----------------------------------------------------------------------
# ConfigOptions:
#----------------------------------------------------------------------

#----------------------------------------------------------------------
# ConfigMethod: config
#
# Configure one option.
# 
# Override: always
# Chain   : automatic.
#
# Note the hack of [winfo width] in this procedure
#
# The hack is necessary because of the bad interaction between TK's geometry
# manager (the packer) and the frame widget. The packer determines the size
# of the root widget of the ComboBox (a frame widget) according to the
# requirement of the slaves inside the frame widget, NOT the -width
# option of the frame widget.
#
# However, everytime the frame widget is
# configured, it sends a geometry request to the packer according to its
# -width and -height options and the packer will temporarily resize
# the frame widget according to the requested size! The packer then realizes
# something is wrong and revert to the size determined by the slaves. This
# cause a flash on the screen.
#
foreach opt {-height -width -background -borderwidth -cursor
        -highlightbackground -highlightcolor -relief -takefocus -bd -bg} {

    set tixPrimOpt($opt) 1
}

proc tixPrimitive:config {w option value} {
    global tixPrimOpt
    upvar #0 $w data

    if {[info exists tixPrimOpt($option)]} {
	$data(rootCmd) config $option $value
    }
}

#----------------------------------------------------------------------
# PublicMethods:
#----------------------------------------------------------------------

#----------------------------------------------------------------------
# This method is used to implement the "subwidgets" widget command.
# Will be re-written in C. It can't be used as a public method because
# of the lame substring comparison routines used in tixClass.c
#
#
proc tixPrimitive:subwidgets {w type args} {
    upvar #0 $w data

    case $type {
	-class {
	    set name [lindex $args 0]
	    set args [lrange $args 1 end]
	    # access subwidgets of a particular class
	    #
	    # note: if $name=="Frame", will *not return the root widget as well
	    #
	    set sub ""
	    foreach des [tixDescendants $w] {
		if {[winfo class $des] eq $name} {
		    lappend sub $des
		}
	    }

	    # Note: if the there is no subwidget of this class, does not
	    # cause any error.
	    #
	    if {$args eq ""} {
		return $sub
	    } else {
		foreach des $sub {
		    eval [linsert $args 0 $des]
		}
		return ""
	    }
	}
	-group {
	    set name [lindex $args 0]
	    set args [lrange $args 1 end]
	    # access subwidgets of a particular group
	    #
	    if {[info exists data(g:$name)]} {
		if {$args eq ""} {
		    set ret ""
		    foreach item $data(g:$name) {
			lappend ret $w.$item
		    }
		    return $ret
		} else {
		    foreach item $data(g:$name) {
			eval [linsert $args 0 $w.$item]
		    }
		    return ""
		}
	    } else {
		error "no such subwidget group $name"
	    }
	}
	-all {
	    set sub [tixDescendants $w]

	    if {$args eq ""} {
		return $sub
	    } else {
		foreach des $sub {
		    eval [linsert $args 0 $des]
		}
		return ""
	    }
	}
	default {
	    error "unknown flag $type, should be -all, -class or -group"
	}
    }
}

#----------------------------------------------------------------------
# PublicMethod: subwidget
#
# Access a subwidget withe a particular name 
#
# Override: never
# Chain   : never
#
# This is implemented in native C code in tixClass.c
#
proc tixPrimitive:subwidget {w name args} {
    upvar #0 $w data

    if {[info exists data(w:$name)]} {
	if {$args eq ""} {
	    return $data(w:$name)
	} else {
	    return [eval [linsert $args 0 $data(w:$name)]]
	}
    } else {
	error "no such subwidget $name"
    }
}


#----------------------------------------------------------------------
# PrivateMethods:
#----------------------------------------------------------------------

# delete the widget record and remove the command
#
proc tixPrimitive:Destructor {w} {
    upvar #0 $w data

    if {![info exists data(w:root)]} {
	return
    }

    if {[llength [info commands $w]]} {
	# remove the command
	rename $w ""
    }

    if {[llength [info commands $data(rootCmd)]]} {
	# remove the command of the root widget
	rename $data(rootCmd) ""
    }

    # delete the widget record
    catch {unset data}
}
PKqm�[A�@	&	&Tix8.4.3/Tix.tclnu�[���# -*- mode: TCL; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*-
#
#	$Id: Tix.tcl,v 1.14 2008/03/17 23:01:10 hobbs Exp $
#
# Tix.tcl --
#
#	This file implements the Tix application context class
#
# Copyright (c) 1993-1999 Ioi Kim Lam.
# Copyright (c) 2000-2001 Tix Project Group.
# Copyright (c) 2004 ActiveState
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#

tixClass tixAppContext {
    -superclass {}
    -classname  TixAppContext
    -method {
	cget configure addbitmapdir filedialog getbitmap getimage
	option platform resetoptions setbitmap initstyle
    }
    -flag {
	-binding -debug -extracmdargs -filedialog -fontset -grabmode
	-haspixmap -libdir -scheme -schemepriority -percentsubst
    }
    -readonly {
	-haspixmap
    }
    -configspec {
	{-binding    		TK}
	{-debug      		0}
	{-extracmdargs 		1}
	{-filedialog    	""}
	{-fontset    		WmDefault}
	{-grabmode 		global}
	{-haspixmap 		0}
	{-libdir     		""}
	{-percentsubst		0}
	{-scheme     		WmDefault}
	{-schemepriority     	21}
    }
    -alias {
    }
}

proc tixAppContext:Constructor {w} {
    upvar #0 $w data
    global tix_priv tix_library tixOption

    if {[info exists data(initialized)]} {
	error "tixAppContext has already be initialized"
    } else {
	set data(initialized) 1
    }

    set data(et) [string equal $tix_library ""]
    set data(image) 0

    # These options were set when Tix was loaded
    #
    set data(-binding)		$tix_priv(-binding)
    set data(-debug)		$tix_priv(-debug)
    set data(-fontset)		$tix_priv(-fontset)
    set data(-scheme)		$tix_priv(-scheme)
    set data(-schemepriority)	$tix_priv(-schemepriority)

    if {![info exists tix_priv(isSafe)]} {
	set data(-libdir)	[file normalize $tix_library]
    }
    set tixOption(prioLevel) $tix_priv(-schemepriority)

    # Compatibility stuff: the obsolete name courier_font has been changed to
    # fixed_font
    set tixOption(fixed_font) Courier
    set tixOption(courier_font) $tixOption(fixed_font)

    # Enable/Disable Intrinsics debugging
    #
    set tix_priv(debug) [string is true -strict $data(-debug)]

    tixAppContext:BitmapInit $w
    tixAppContext:FileDialogInit $w

    # Clean up any error message generated by the above loop
    set ::errorInfo ""
}

proc tixAppContext:initstyle {w} {
    # Do the init stuff here that affects styles

    upvar #0 $w data
    global tix_priv

    if {![info exists tix_priv(isSafe)]} {
	tixAppContext:config-fontset $w $data(-fontset)
	tixAppContext:config-scheme  $w $data(-scheme)
    }

    tixAppContext:BitmapInit $w
    tixAppContext:FileDialogInit $w

    # Force the "." window to accept the new Tix options
    #
    set noconfig [list -class -colormap -container -menu -screen -use -visual]
    set noconfig [lsort $noconfig]
    foreach spec [. configure] {
	set flag [lindex $spec 0]
	if {[llength $spec] != 5
	    || [lsearch -exact -sorted $noconfig $flag] != -1} {
	    continue
	}
	set name  [lindex $spec 1]
	set class [lindex $spec 2]
	set value [option get . $name $class]
	catch {. configure $flag $value}
    }
}

#----------------------------------------------------------------------
#  Configurations
#
#----------------------------------------------------------------------
proc tixAppContext:resetoptions {w scheme fontset {schemePrio ""}} {
    upvar #0 $w data

    if {! $data(et)} {
	global tixOption
	option clear

	if {$schemePrio != ""} {
	    set tixOption(prioLevel) $schemePrio
	}
	tixAppContext:config-scheme  $w $scheme
	tixAppContext:config-fontset $w $fontset
    }
}
proc tixAppContext:StartupError {args} {
    bgerror [join $args "\n"]
}

proc tixAppContext:config-fontset {w value} {
    upvar #0 $w data
    global tix_priv tixOption

    set data(-fontset) $value

    #-----------------------------------
    # Initialization of options database
    #-----------------------------------
    # Load the fontset
    #
    if {!$data(et)} {
        set prefDir [file join $data(-libdir) pref]
        set fontSetFile [file join $prefDir $data(-fontset).fsc]
	if {[file exists $fontSetFile]} {
	    source $fontSetFile
	    tixPref:InitFontSet:$data(-fontset)
	    tixPref:SetFontSet:$data(-fontset)
	} else {
	    tixAppContext:StartupError \
		"	Error: cannot use fontset \"$data(-fontset)\"" \
		"       Using default fontset "
	    tixSetDefaultFontset
	}
    } else {
	if [catch {
	    tixPref:InitFontSet:$data(-fontset)
	    tixPref:SetFontSet:$data(-fontset)
	}] {
	    # User chose non-existent fontset
	    #
	    tixAppContext:StartupError \
		"	Error: cannot use fontset \"$data(-fontset)\"" \
		"       Using default fontset "
	    tixSetDefaultFontset
	}
    }
}

proc tixAppContext:config-scheme {w value} {
    upvar #0 $w data
    global tix_priv

    set data(-scheme) $value

    # Load the color scheme
    #
    if {!$data(et)} {
	set schemeName [file join [file join $data(-libdir) pref] \
	    $data(-scheme).csc]
	if {[file exists $schemeName]} {
	    source $schemeName
	    tixPref:SetScheme-Color:$data(-scheme)
	} else {
	    tixAppContext:StartupError \
		"	Error: cannot use color scheme \"$data(-scheme)\"" \
		"       Using default color scheme"
	    tixSetDefaultScheme-Color
	}
    } else {
	if [catch {tixPref:SetScheme-Color:$data(-scheme)}] {
	    # User chose non-existent color scheme
	    #
	    tixAppContext:StartupError \
		"	Error: cannot use color scheme \"$data(-scheme)\"" \
		"       Using default color scheme"
	    tixSetDefaultScheme-Color
	}
    }
}

#----------------------------------------------------------------------
#  Private methods
#
#----------------------------------------------------------------------
proc tixAppContext:BitmapInit {w} {
    upvar #0 $w data

    # See whether we have pixmap extension
    #
    set data(-haspixmap) true

    # Dynamically set the bitmap directory
    #
    if {! $data(et)} {
	set data(bitmapdirs) [list [file join $data(-libdir) bitmaps]]
    } else {
	set data(bitmapdirs) ""
    }
}

proc tixAppContext:FileDialogInit {w} {
    upvar #0 $w data

    if {$data(-filedialog) == ""} {
	set data(-filedialog) [option get . fileDialog FileDialog]
    }
    if {$data(-filedialog) == ""} {
	set data(-filedialog) tixFileSelectDialog
    }
}

#----------------------------------------------------------------------
# 	Public methods
#----------------------------------------------------------------------
proc tixAppContext:addbitmapdir {w bmpdir} {
    upvar #0 $w data

    if {[lsearch $data(bitmapdirs) $bmpdir] == -1} {
	lappend data(bitmapdirs) $bmpdir
    }
}

proc tixAppContext:getimage {w name} {
    upvar #0 $w data
    global tix_priv

    if {[info exists data(img:$name)]} {
	return $data(img:$name)
    }

    if {![info exists tix_priv(isSafe)]} {
	foreach dir $data(bitmapdirs) {
	    foreach {ext type} {
		.xpm pixmap
		.gif photo
		.ppm photo
		.xbm bitmap
		""  bitmap
	    } {
		set file [file join $dir $name$ext]
		if {[file exists $file]
		    && ![catch {
			set img tiximage$data(image)
			set data(img:$name) \
			    [image create $type $img -file $file]
		    }]} {
		    incr data(image)
		    break
		}
	    }
	    if {[info exists data(img:$name)]} {
		return $data(img:$name)
	    }
	}
    }

    if {![info exists data(img:$name)]} {
	catch {
	    set img tiximage$data(image)
	    # This is for compiled-in images
	    set data(img:$name) [image create pixmap $img -id $name]
	} err
	if {[string match internal* $err]} {
	    error $err
	} else {
	    incr data(image)
	}
    }

    if {[info exists data(img:$name)]} {
	return $data(img:$name)
    } else {
	error "image file \"$name\" cannot be found"
    }
}


proc tixAppContext:getbitmap {w bitmapname} {
    upvar #0 $w data
    global tix_priv

    if {[info exists data(bmp:$bitmapname)]} {
	return $data(bmp:$bitmapname)
    } else {
	set ext [file extension $bitmapname]
	if {$ext == ""} {
	    set ext .xbm
	}

	# This is the fallback value. If we can't find the bitmap in
	# the bitmap directories, then use the name of the bitmap
	# as the default value.
	#
	set data(bmp:$bitmapname) $bitmapname

	if {[info exists tix_priv(isSafe)]} {
	    return $data(bmp:$bitmapname)
	}

	foreach dir $data(bitmapdirs) {
	    if {$ext eq ".xbm" &&
		[file exists [file join $dir $bitmapname.xbm]]} {
		set data(bmp:$bitmapname) \
		    @[file join $dir $bitmapname.xbm]
		break
	    }
	    if {[file exists [file join $dir $bitmapname]]} {
		set data(bmp:$bitmapname) @[file join $dir $bitmapname]
		break
	    }
	}

	return $data(bmp:$bitmapname)
    }
}

proc tixAppContext:filedialog {w {type tixFileSelectDialog}} {
    upvar #0 $w data

    if {$type == ""} {
	set type $data(-filedialog)
    }
    if {![info exists data(filedialog,$type)]} {
	set data(filedialog,$type) ""
    }

    if {$data(filedialog,$type) == "" || \
	    ![winfo exists $data(filedialog,$type)]} {
	set data(filedialog,$type) [$type .tixapp_filedialog_$type]
    }

    return $data(filedialog,$type)
}

proc tixAppContext:option {w action {option ""} {value ""}} {
    global tixOption

    if {$action eq "get"} {
	if {$option == ""} {return [lsort [array names tixOption]]}
	return $tixOption($option)
    }
}

proc tixAppContext:platform {w} {
    return $::tcl_platform(platform)
}

proc tixDebug {message {level "1"}} {
    set debug [tix cget -debug]
    if {![string is true -strict $debug]} { return }

    if {$debug > 0} {
	# use $level here
	if {[catch {fconfigure stderr}]} {
	    # This will happen under PYTHONW.EXE or frozen Windows apps
	    proc tixDebug args {} 
	} else {
	    puts stderr $message
	}
    }
}

if {![llength [info commands toplevel]]} {
    interp alias {} toplevel {} frame
}
PKqm�[8�No
o
Tix8.4.3/BtnBox.tclnu�[���# -*- mode: TCL; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*-
#
#	$Id: BtnBox.tcl,v 1.2 2001/12/09 05:04:02 idiscovery Exp $
#
# BtnBox.tcl --
#
#	Implements the tixButtonBox widget
#
# Copyright (c) 1993-1999 Ioi Kim Lam.
# Copyright (c) 2000-2001 Tix Project Group.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#

tixWidgetClass tixButtonBox {
    -superclass tixPrimitive
    -classname  TixButtonBox
    -method {
	add invoke button buttons
    }
    -flag {
	-orientation -orient -padx -pady -state
    }
    -static {
	-orientation
    }
    -configspec {
	{-orientation orientation Orientation horizontal}
	{-padx padX Pad 0}
	{-pady padY Pad 0}
	{-state state State normal}
    }
    -alias {
	{-orient -orientation}
    }
    -default {
	{.borderWidth 		1}
	{.relief 		raised}
	{.padX 			5}
	{.padY 			10}
	{*Button.anchor		c}
	{*Button.padX		5}
    }
}

proc tixButtonBox:InitWidgetRec {w} {
    upvar #0 $w data

    tixChainMethod $w InitWidgetRec

    set data(g:buttons) ""
}

#----------------------------------------------------------------------
#                           CONFIG OPTIONS
#----------------------------------------------------------------------
proc tixButtonBox:config-padx {w arg} {
    upvar #0 $w data

    foreach item $data(g:buttons) {
	pack configure $w.$item -padx $arg
    }
}

proc tixButtonBox:config-pady {w arg} {
    upvar #0 $w data

    foreach item $data(g:buttons) {
	pack configure $w.$item -pady $arg
    }
}

proc tixButtonBox:config-state {w arg} {
    upvar #0 $w data

    foreach item $data(g:buttons) {
	$w.$item config -state $arg
    }
}

#----------------------------------------------------------------------
# Methods
#                     WIDGET COMMANDS
#----------------------------------------------------------------------
proc tixButtonBox:add {w name args} {
    upvar #0 $w data

    eval button $w.$name $args
    if {$data(-orientation) == "horizontal"} {
	pack $w.$name -side left -expand yes -fill y\
	    -padx $data(-padx) -pady $data(-pady)
    } else {
	pack $w.$name -side top -expand yes  -fill x\
	    -padx $data(-padx) -pady $data(-pady)
    }

    # allow for subwidget access
    #
    lappend data(g:buttons) $name
    set data(w:$name) $w.$name

    return $w.$name
}

proc tixButtonBox:button {w name args} {
    return [eval tixCallMethod $w subwidget $name $args]
}

proc tixButtonBox:buttons {w args} {
    return [eval tixCallMethod $w subwidgets -group buttons $args]
}

#
# call the command
proc tixButtonBox:invoke {w name} {
    upvar #0 $w data

    $w.$name invoke
}
PKqm�[-ϟ�88Tix8.4.3/FileBox.tclnu�[���# -*- mode: TCL; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*-
#
#	$Id: FileBox.tcl,v 1.5 2004/03/28 02:44:57 hobbs Exp $
#
# FileBox.tcl --
#
#	Implements the File Selection Box widget.
#
# Copyright (c) 1993-1999 Ioi Kim Lam.
# Copyright (c) 2000-2001 Tix Project Group.
# Copyright (c) 2004 ActiveState
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#


# ToDo
#   (1)	If user has entered an invalid directory, give an error dialog
#

tixWidgetClass tixFileSelectBox {
    -superclass tixPrimitive
    -classname  TixFileSelectBox
    -method {
	filter invoke
    }
    -flag {
	-browsecmd -command -dir -directory -disablecallback
	-grab -pattern -selection -value
    }
    -configspec {
	{-browsecmd browseCmd BrowseCmd ""}
	{-command command Command ""}
	{-directory directory Directory ""}
	{-disablecallback disableCallback DisableCallback 0 tixVerifyBoolean}
	{-grab grab Grab global}
	{-pattern pattern Pattern *}
	{-value value Value ""}
    }
    -alias {
	{-selection -value}
	{-dir -directory}
    }
    -forcecall {
	-value
    }
    -default {
	{.relief			raised}
	{*filelist*Listbox.takeFocus	true}
	{.borderWidth 			1}
	{*Label.anchor			w}
	{*Label.borderWidth		0}
	{*TixComboBox*scrollbar		auto}
	{*TixComboBox*Label.anchor	w}
	{*TixScrolledListBox.scrollbar	auto}
	{*Listbox.exportSelection	false}
	{*directory*Label.text  	"Directories:"}
	{*directory*Label.underline	0}
	{*file*Label.text		"Files:"}
	{*file*Label.underline		2}
	{*filter.label			"Filter:"}
	{*filter*label.underline	3}
	{*filter.labelSide		top}
	{*selection.label		"Selection:"}
	{*selection*label.underline	0}
	{*selection.labelSide		top}
    }
}


proc tixFileSelectBox:InitWidgetRec {w} {
    upvar #0 $w data
    global env

    tixChainMethod $w InitWidgetRec

    if {$data(-directory) eq ""} {
	set data(-directory) [pwd]
    }
    if {$data(-pattern) eq ""} {
	set data(-pattern) "*"
    }

    tixFileSelectBox:SetPat $w $data(-pattern)
    tixFileSelectBox:SetDir $w [tixFSNormalize $data(-directory)]

    set data(flag)      0
    set data(fakeDir)   0
}

#----------------------------------------------------------------------
#		Construct widget
#----------------------------------------------------------------------
proc tixFileSelectBox:ConstructWidget {w} {
    upvar #0 $w data

    tixChainMethod $w ConstructWidget

    set frame1 [tixFileSelectBox:CreateFrame1 $w]
    set frame2 [tixFileSelectBox:CreateFrame2 $w]
    set frame3 [tixFileSelectBox:CreateFrame3 $w]

    pack $frame1 -in $w -side top -fill x
    pack $frame3 -in $w -side bottom -fill x
    pack $frame2 -in $w -side top -fill both -expand yes
}

proc tixFileSelectBox:CreateFrame1 {w} {
    upvar #0 $w data

    frame $w.f1 -border 10
    tixComboBox $w.f1.filter -editable 1\
	-command [list $w filter] -anchor e \
	-options {
	    slistbox.scrollbar auto
	    listbox.height 5
	    label.anchor w
	}
    set data(w:filter) $w.f1.filter

    pack $data(w:filter) -side top -expand yes -fill both
    return $w.f1
}

proc tixFileSelectBox:CreateFrame2 {w} {
    upvar #0 $w data

    tixPanedWindow $w.f2 -orientation horizontal
    #     THE LEFT FRAME
    #-----------------------
    set dir [$w.f2 add directory -size 120]
    $dir config -relief flat
    label $dir.lab
    set data(w:dirlist) [tixScrolledListBox $dir.dirlist\
			     -scrollbar auto\
			     -options {listbox.width 4 listbox.height 6}]

    pack $dir.lab -side top -fill x -padx 10
    pack $data(w:dirlist) -side bottom -expand yes -fill both -padx 10

    #     THE RIGHT FRAME
    #-----------------------
    set file [$w.f2 add file -size 160]
    $file config -relief flat
    label $file.lab
    set data(w:filelist) [tixScrolledListBox $file.filelist \
			      -scrollbar auto\
			      -options {listbox.width 4 listbox.height 6}]

    pack $file.lab -side top -fill x -padx 10
    pack $data(w:filelist) -side bottom -expand yes -fill both -padx 10

    return $w.f2
}

proc tixFileSelectBox:CreateFrame3 {w} {
    upvar #0 $w data

    frame $w.f3 -border 10
    tixComboBox $w.f3.selection -editable 1\
	-command [list tixFileSelectBox:SelInvoke $w] \
	-anchor e \
	-options {
	    slistbox.scrollbar auto
	    listbox.height 5
	    label.anchor w
	}

    set data(w:selection) $w.f3.selection

    pack $data(w:selection) -side top -fill both

    return $w.f3
}

proc tixFileSelectBox:SelInvoke {w args} {
    upvar #0 $w data

    set event [tixEvent type]

    if {$event ne "<FocusOut>" && $event ne "<Tab>"} {
	$w invoke
    }
}

proc tixFileSelectBox:SetValue {w value} {
    upvar #0 $w data

    set data(i-value) $value
    set data(-value)  [tixFSNative $value]
}

proc tixFileSelectBox:SetDir {w value} {
    upvar #0 $w data

    set data(i-directory) $value
    set data(-directory)  [tixFSNative $value]
}

proc tixFileSelectBox:SetPat {w value} {
    upvar #0 $w data

    set data(i-pattern) $value
    set data(-pattern)  [tixFSNative $value]
}


#----------------------------------------------------------------------
#                           BINDINGS
#----------------------------------------------------------------------

proc tixFileSelectBox:SetBindings {w} {
    upvar #0 $w data

    tixChainMethod $w SetBindings

    tixDoWhenMapped $w [list tixFileSelectBox:FirstMapped $w]

    $data(w:dirlist) config \
	-browsecmd [list tixFileSelectBox:SelectDir $w] \
	-command   [list tixFileSelectBox:InvokeDir $w]

    $data(w:filelist) config \
	-browsecmd [list tixFileSelectBox:SelectFile $w] \
	-command   [list tixFileSelectBox:InvokeFile $w]
}

#----------------------------------------------------------------------
#                           CONFIG OPTIONS
#----------------------------------------------------------------------
proc tixFileSelectBox:config-directory {w value} {
    upvar #0 $w data

    if {$value eq ""} {
	set value [pwd]
    }
    tixFileSelectBox:SetDir $w [tixFSNormalize $value]
    tixFileSelectBox:SetFilter $w $data(i-directory) $data(i-pattern)
    $w filter

    return $data(-directory)
}

proc tixFileSelectBox:config-pattern {w value} {
    upvar #0 $w data

    if {$value eq ""} {
	set value "*"
    }

    tixFileSelectBox:SetPat $w $value
    tixFileSelectBox:SetFilter $w $data(i-directory) $data(i-pattern)

    # Returning a value means we have overridden the value and updated
    # the widget record ourselves.
    #
    return $data(-pattern)
}

proc tixFileSelectBox:config-value {w value} {
    upvar #0 $w data

    tixFileSelectBox:SetValue $w [tixFSNormalize $value]
    tixSetSilent $data(w:selection) $value

    return $data(-value)
}

#----------------------------------------------------------------------
#                    PUBLIC METHODS
#----------------------------------------------------------------------
proc tixFileSelectBox:filter {w args} {
    upvar #0 $w data

    $data(w:filter) popdown
    tixFileSelectBox:InterpFilter $w
    tixFileSelectBox:LoadDir $w
}

proc tixFileSelectBox:invoke {w args} {
    upvar #0 $w data

    if {[$data(w:selection) cget -value] ne
	[$data(w:selection) cget -selection]} {
	# this will in turn call "invoke" again ...
	#
	$data(w:selection) invoke
	return
    }

    # record the filter
    #
    set filter [tixFileSelectBox:InterpFilter $w]
    $data(w:filter) addhistory $filter

    # record the selection
    #
    set userInput [string trim [$data(w:selection) cget -value]]
    tixFileSelectBox:SetValue $w \
	[tixFSNormalize [file join $data(i-directory) $userInput]]
    $data(w:selection) addhistory $data(-value)

    $data(w:filter) align
    $data(w:selection)  align

    if {[llength $data(-command)] && !$data(-disablecallback)} {
	set bind(specs) "%V"
	set bind(%V) $data(-value)
	tixEvalCmdBinding $w $data(-command) bind $data(-value)
    }
}

#----------------------------------------------------------------------
#                    INTERNAL METHODS
#----------------------------------------------------------------------
# InterpFilter:
#	Interprets the value of the w:filter widget. 
#
# Side effects:
#	Changes the fields data(-directory) and data(-pattenn) 
#
proc tixFileSelectBox:InterpFilter {w {filter ""}} {
    upvar #0 $w data

    if {$filter == ""} {
	set filter [$data(w:filter) cget -selection]
	if {$filter == ""} {
	    set filter [$data(w:filter) cget -value]
	}
    }

    set i_filter [tixFSNormalize $filter]

    if {[file isdirectory $filter]} {
	tixFileSelectBox:SetDir $w $i_filter
	tixFileSelectBox:SetPat $w "*"
    } else {
	set nDir [file dirname $filter]
	if {$nDir eq "" || $nDir eq "."} {
	    tixFileSelectBox:SetDir $w [tixFSNormalize $data(i-directory)]
	} else {
	    tixFileSelectBox:SetDir $w [tixFSNormalize $nDir]
	}
	tixFileSelectBox:SetPat $w [file tail $filter]
    }

    tixFileSelectBox:SetFilter $w $data(i-directory) $data(i-pattern)

    return $data(filter)
}

proc tixFileSelectBox:SetFilter {w dir pattern} {
    upvar #0 $w data

    set data(filter) [file join $dir $pattern]
    tixSetSilent $data(w:filter) $data(filter)
}

proc tixFileSelectBox:LoadDirIntoLists {w} {
    upvar #0 $w data

    $data(w:dirlist)  subwidget listbox delete 0 end
    $data(w:filelist) subwidget listbox delete 0 end

    set dir $data(i-directory)

    # (1) List the directories
    #
    set isDrive [expr {[llength [file split $dir]] == 1}]
    foreach name [tixFSListDir $dir 1 0 1 1] {
	if {".." eq $name && $isDrive} { continue }
	$data(w:dirlist) subwidget listbox insert end $name
    }

    # (2) List the files
    #
    # %% UNIX'ISM:
    # If the pattern is "*" force glob to list the .* files.
    # However, since the user might not
    # be interested in them, shift the listbox so that the "normal" files
    # are seen first
    #
    # NOTE: if we pass $pat == "" but with $showHidden set to true,
    #       tixFSListDir will list "* .*" in Unix. See the comment on top of
    #	    the tixFSListDir code.
    #
    if {$data(i-pattern) eq "*"} {
	set pat ""
    } else {
	set pat $data(i-pattern)
    }

    set top 0
    foreach name [tixFSListDir $dir 0 1 0 0 $pat] {
	$data(w:filelist) subwidget listbox insert end $name
	if {[string match .* $name]} {
	    incr top
	}
    }

    $data(w:filelist) subwidget listbox yview $top
}

proc tixFileSelectBox:LoadDir {w} {
    upvar #0 $w data

    tixBusy $w on [$data(w:dirlist) subwidget listbox]

    tixFileSelectBox:LoadDirIntoLists $w

    if {[$data(w:dirlist) subwidget listbox size] == 0} {
	# fail safe, just in case the user has inputed an errnoeuos
	# directory
	$data(w:dirlist) subwidget listbox insert 0 ".."
    }

    tixWidgetDoWhenIdle tixBusy $w off [$data(w:dirlist) subwidget listbox]
}

# User single clicks on the directory listbox
#
proc tixFileSelectBox:SelectDir {w} {
    upvar #0 $w data

    if {$data(fakeDir) > 0} {
	incr data(fakeDir) -1
	$data(w:dirlist) subwidget listbox select clear 0 end
	$data(w:dirlist) subwidget listbox activate -1
	return
    }

    if {$data(flag)} {
	return
    }
    set data(flag) 1

    set subdir [tixListboxGetCurrent [$data(w:dirlist) subwidget listbox]]
    if {$subdir == ""} {
	set subdir "."
    }

    tixFileSelectBox:SetFilter $w \
	[tixFSNormalize [file join $data(i-directory) $subdir]] \
	$data(i-pattern)
    set data(flag) 0
}

proc tixFileSelectBox:InvokeDir {w} {
    upvar #0 $w data

    set theDir [$data(w:dirlist) subwidget listbox get active]

    tixFileSelectBox:SetDir $w \
	[tixFSNormalize [file join $data(i-directory) $theDir]]

    $data(w:dirlist) subwidget listbox select clear 0 end

    tixFileSelectBox:SetFilter $w $data(i-directory) $data(i-pattern)
    tixFileSelectBox:InterpFilter $w [tixFSNativeNorm $data(filter)]

    tixFileSelectBox:LoadDir $w

    if {![tixEvent match <Return>]} {
	incr data(fakeDir) 1
    }
}

proc tixFileSelectBox:SelectFile {w} {
    upvar #0 $w data

    if {$data(flag)} {
	return
    }
    set data(flag) 1

    # Reset the "Filter:" box to the current directory:
    #	
    $data(w:dirlist) subwidget listbox select clear 0 end
    tixFileSelectBox:SetFilter $w $data(i-directory) $data(i-pattern)

    # Now select the file
    #
    set selected [tixListboxGetCurrent [$data(w:filelist) subwidget listbox]]
    if {$selected != ""} {
	# Make sure that the selection is not empty!
	#
	tixFileSelectBox:SetValue $w \
	    [tixFSNormalize [file join $data(i-directory) $selected]]
	tixSetSilent $data(w:selection) $data(-value)

	if {[llength $data(-browsecmd)]} {
	    tixEvalCmdBinding $w $data(-browsecmd) "" $data(-value)
	}
    }
    set data(flag) 0
}

proc tixFileSelectBox:InvokeFile {w} {
    upvar #0 $w data

    set selected [tixListboxGetCurrent [$data(w:filelist) subwidget listbox]]
    if {$selected  != ""} {
	$w invoke
    }
}

# This is only called the first this fileBox is mapped -- load the directory
#
proc tixFileSelectBox:FirstMapped {w} {
    if {![winfo exists $w]} {
	return
    }

    upvar #0 $w data

    tixFileSelectBox:SetFilter $w $data(i-directory) $data(i-pattern)
    tixFileSelectBox:LoadDir $w
    $data(w:filter) align
}


#----------------------------------------------------------------------
#
#
#              C O N V E N I E N C E   R O U T I N E S 
#
#
#----------------------------------------------------------------------

# This is obsolete. Use the widget tixFileSelectDialog instead
#
#
proc tixMkFileDialog {w args} {
    set option(-okcmd)    ""
    set option(-helpcmd)  ""

    tixHandleOptions option {-okcmd -helpcmd} $args

    toplevel $w
    wm minsize $w 10 10

    tixStdDlgBtns $w.btns
    
    if {$option(-okcmd) != ""} {
	tixFileSelectBox $w.fsb \
	    -command "[list wm withdraw $w]; $option(-okcmd)"
    } else {
	tixFileSelectBox $w.fsb -command [list wm withdraw $w]
    }

    $w.btns button ok     config -command [list $w.fsb invoke]
    $w.btns button apply  config -command [list $w.fsb filter] -text Filter
    $w.btns button cancel config -command [list wm withdraw $w]

    if {$option(-helpcmd) == ""} {
	$w.btns button help config -state disabled
    } else {
	$w.btns button help config -command $option(-helpcmd)
    }
    wm protocol $w WM_DELETE_WINDOW [list wm withdraw $w]
    pack $w.btns  -side bottom -fill both
    pack $w.fsb   -fill both -expand yes

    return $w.fsb
}


PKqm�[Y��w~,~,Tix8.4.3/EFileBox.tclnu�[���# -*- mode: TCL; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*-
#
#	$Id: EFileBox.tcl,v 1.5 2004/03/28 02:44:57 hobbs Exp $
#
# EFileBox.tcl --
#
#	Implements the Extended File Selection Box widget.
#
# Copyright (c) 1993-1999 Ioi Kim Lam.
# Copyright (c) 2000-2001 Tix Project Group.
# Copyright (c) 2004 ActiveState
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#


#
# ToDo
#   (1)	If user has entered an invalid directory, give an error dialog
#

tixWidgetClass tixExFileSelectBox {
    -classname TixExFileSelectBox
    -superclass tixPrimitive
    -method {
	filter invoke
    }
    -flag {
	-browsecmd -command -dialog -dir -dircmd -directory 
	-disablecallback -filetypes -pattern -selection -showhidden -value
    }
    -forcecall {
	-filetypes
    }
    -configspec {
	{-browsecmd browseCmd BrowseCmd ""}
	{-command command Command ""}
	{-dialog dialog Dialog ""}
	{-dircmd dirCmd DirCmd ""}
	{-directory directory Directory ""}
	{-disablecallback disableCallback DisableCallback 0 tixVerifyBoolean}
	{-filetypes fileTypes FileTypes ""}
	{-pattern pattern Pattern *}
	{-showhidden showHidden ShowHidden 0 tixVerifyBoolean}
	{-value value Value ""}
    }
    -alias {
	{-dir -directory}
	{-selection -value}
    }

    -default {
	{*dir.label 			{Directories:}}
	{*dir.editable 			true}
	{*dir.history 			true}
	{*dir*listbox.height 		5}
	{*file.label  			Files:}
	{*file.editable 		true}
	{*file.history 			false}
	{*file*listbox.height 		5}
	{*types.label 			{List Files of Type:}}
	{*types*listbox.height 		3}
	{*TixComboBox.labelSide 	top}
	{*TixComboBox*Label.anchor 	w}
	{*dir.label.underline 		0}
	{*file.label.underline		0}
	{*types.label.underline 	14}
	{*TixComboBox.anchor 		e}
	{*TixHList.height 		7}
	{*filelist*listbox.height 	7}
	{*hidden.wrapLength 		3c}
	{*hidden.justify 		left}
    }
}

proc tixExFileSelectBox:InitWidgetRec {w} {
    upvar #0 $w data
    global env

    tixChainMethod $w InitWidgetRec

    if {$data(-directory) eq ""} {
	set data(-directory) [pwd]
    }
    set data(oldDir)    ""
    set data(flag)      0
}


#----------------------------------------------------------------------
#		Construct widget
#----------------------------------------------------------------------
proc tixExFileSelectBox:ConstructWidget {w} {
    upvar #0 $w data

    tixChainMethod $w ConstructWidget

    # listbox frame
    set lf [frame $w.lf]

    # The pane that contains the two listboxes
    #
    set pane  [tixPanedWindow $lf.pane -orientation horizontal]
    set dpane [$pane add 1 -size 160]
    set fpane [$pane add 2 -size 160]

    $dpane config -relief flat
    $fpane config -relief flat

    # The File List Pane
    #
    set data(w:file)  [tixComboBox $fpane.file\
			   -command [list tixExFileSelectBox:Cmd-FileCombo $w]\
			   -prunehistory true \
			   -options {
			       label.anchor w
			   }]
    set data(w:filelist) \
	[tixScrolledListBox $fpane.filelist \
	     -command   [list tixExFileSelectBox:Cmd-FileList $w 1] \
	     -browsecmd [list tixExFileSelectBox:Cmd-FileList $w 0]]
    pack $data(w:file)  -padx 8 -pady 4 -side top -fill x
    pack $data(w:filelist) -padx 8 -pady 4 -side top -fill both -expand yes

    # The Directory Pane
    #
    set data(w:dir)   [tixComboBox $dpane.dir \
			   -command [list tixExFileSelectBox:Cmd-DirCombo $w]\
			   -prunehistory true \
			   -options {
			       label.anchor w
			   }]
    set data(w:dirlist) \
	[tixDirList  $dpane.dirlist \
	     -command   [list tixExFileSelectBox:Cmd-DirList $w]\
	     -browsecmd [list tixExFileSelectBox:Browse-DirList $w]]
    pack $data(w:dir)   -padx 8 -pady 4 -side top -fill x
    pack $data(w:dirlist) -padx 8 -pady 4 -side top -fill both -expand yes

    # The file types listbox
    #
    set data(w:types) [tixComboBox $lf.types\
			   -command [list tixExFileSelectBox:Cmd-TypeCombo $w]\
			   -options {
			       label.anchor w
			   }]

    pack $data(w:types)  -padx 12 -pady 4 -side bottom -fill x -anchor w
    pack $pane -side top -padx 4 -pady 4 -expand yes -fill both

    # Buttons to the right
    #
    set bf [frame $w.bf]
    set data(w:ok)     [button $bf.ok -text Ok -width 6 \
	-underline 0 -command [list tixExFileSelectBox:Ok $w]]
    set data(w:cancel) [button $bf.cancel -text Cancel -width 6 \
	-underline 0 -command [list tixExFileSelectBox:Cancel $w]]
    set data(w:hidden) [checkbutton $bf.hidden -text "Show Hidden Files"\
	-underline 0\
       	-variable [format %s(-showhidden) $w] -onvalue 1 -offvalue 0\
	-command [list tixExFileSelectBox:SetShowHidden $w]]

    pack $data(w:ok) $data(w:cancel) $data(w:hidden)\
	-side top -fill x -padx 6 -pady 3

    pack $bf -side right -fill y -pady 6
    pack $lf -side left -expand yes -fill both

    tixDoWhenMapped $w [list tixExFileSelectBox:Map $w]

    if {$data(-filetypes) == ""} {
	$data(w:types) config -state disabled
    }
}


#----------------------------------------------------------------------
# Configuration
#----------------------------------------------------------------------
proc tixExFileSelectBox:config-showhidden {w value} {
    upvar #0 $w data

    set data(-showhidden) $value
    tixExFileSelectBox:SetShowHidden $w
}

# Update both DirList and {file list and dir combo}
#
proc tixExFileSelectBox:config-directory {w value} {
    upvar #0 $w data

    set data(-directory) [tixFSNormalize $value]
    tixSetSilent $data(w:dirlist) $data(-directory)
    tixSetSilent $data(w:dir) $data(-directory)
    tixWidgetDoWhenIdle tixExFileSelectBox:LoadFiles $w reload

    return $data(-directory)
}

proc tixExFileSelectBox:config-filetypes {w value} {
    upvar #0 $w data

    $data(w:types) subwidget listbox delete 0 end

    foreach name [array names data] {
	if {[string match type,* $name]} {
	    catch {unset data($name)}
	}
    }

    if {$value == ""} {
	$data(w:types) config -state disabled
    } else {
	$data(w:types) config -state normal

	foreach type $value {
	    $data(w:types) insert end [lindex $type 1]
	    set data(type,[lindex $type 1]) [lindex $type 0]
	}
	tixSetSilent $data(w:types) ""
    }
}

#----------------------------------------------------------------------
# MISC Methods
#----------------------------------------------------------------------
proc tixExFileSelectBox:SetShowHidden {w} {
    upvar #0 $w data

    $data(w:dirlist) config -showhidden $data(-showhidden)

    tixWidgetDoWhenIdle tixExFileSelectBox:LoadFiles $w reload
}

# User activates the dir combobox
#
#
proc tixExFileSelectBox:Cmd-DirCombo {w args} {
    upvar #0 $w data

    set dir [tixEvent flag V]
    set dir [tixFSExternal $dir]
    if {![file isdirectory $dir]} {
	return
    }
    set dir [tixFSNormalize $dir]

    $data(w:dirlist) config -value $dir
    set data(-directory) $dir
}

# User activates the dir list
#
#
proc tixExFileSelectBox:Cmd-DirList {w args} {
    upvar #0 $w data

    set dir $data(-directory)
    catch {set dir [tixEvent flag V]}
    set dir [tixFSNormalize [tixFSExternal $dir]]

    tixSetSilent $data(w:dir) $dir
    set data(-directory) $dir

    tixWidgetDoWhenIdle tixExFileSelectBox:LoadFiles $w noreload
}

# User activates the dir list
#
#
proc tixExFileSelectBox:Browse-DirList {w args} {
    upvar #0 $w data

    set dir [tixEvent flag V]
    set dir [tixFSNormalize [tixFSExternal $dir]]
    tixExFileSelectBox:Cmd-DirList $w $dir
}

proc tixExFileSelectBox:IsPattern {w string} {
    return [regexp "\[\[\\\{\\*\\?\]" $string]
}

proc tixExFileSelectBox:Cmd-FileCombo {w value} {
    upvar #0 $w data

    if {[tixEvent type] eq "<Return>"} {
	tixExFileSelectBox:Ok $w
    }
}

proc tixExFileSelectBox:Ok {w} {
    upvar #0 $w data

    set value [string trim [$data(w:file) subwidget entry get]]
    if {$value == ""} {
	set value $data(-pattern)
    }
    tixSetSilent $data(w:file) $value

    if {[tixExFileSelectBox:IsPattern $w $value]} {
	set data(-pattern) $value
	tixWidgetDoWhenIdle tixExFileSelectBox:LoadFiles $w reload
    } else {
	# ensure absolute path
	set value [file join $data(-directory) $value]; # native
	set data(-value) [tixFSNativeNorm $value]
	tixExFileSelectBox:Invoke $w
    }
}

proc tixExFileSelectBox:Cancel {w} {
    upvar #0 $w data

    if {$data(-dialog) != ""} {
	eval $data(-dialog) popdown
    }
}

proc tixExFileSelectBox:Invoke {w} {
    upvar #0 $w data

    # Save some old history
    #
    $data(w:dir)  addhistory [$data(w:dir) cget -value]
    $data(w:file) addhistory $data(-pattern)
    $data(w:file) addhistory $data(-value)
    if {$data(-dialog) != ""} {
	eval $data(-dialog) popdown
    }
    if {$data(-command) != "" && !$data(-disablecallback)} {
	set bind(specs) "%V"
	set bind(%V) $data(-value)
	tixEvalCmdBinding $w $data(-command) bind $data(-value)
    }
}

proc tixExFileSelectBox:Cmd-FileList {w invoke args} {
    upvar #0 $w data

    set index [lindex [$data(w:filelist) subwidget listbox curselection] 0]
    if {$index == ""} {
	set index 0
    }

    set file [$data(w:filelist) subwidget listbox get $index]
    tixSetSilent $data(w:file) $file

    set value [file join $data(-directory) $file]
    set data(-value) [tixFSNativeNorm $value]

    if {$invoke == 1} {
	tixExFileSelectBox:Invoke $w
    } elseif {$data(-browsecmd) != ""} {
	tixEvalCmdBinding $w $data(-browsecmd) "" $data(-value)
    }
}

proc tixExFileSelectBox:Cmd-TypeCombo {w args} {
    upvar #0 $w data

    set value [tixEvent flag V]

    if {[info exists data(type,$value)]} {
	set data(-pattern) $data(type,$value)
	tixSetSilent $data(w:file) $data(-pattern)
	tixWidgetDoWhenIdle tixExFileSelectBox:LoadFiles $w reload
    }
}

proc tixExFileSelectBox:LoadFiles {w flag} {
    upvar #0 $w data

    if {$flag ne "reload" && $data(-directory) eq $data(oldDir)} {
	return
    }

    if {![winfo ismapped [winfo toplevel $w]]} {
	tixDoWhenMapped [winfo toplevel $w] \
	    [list tixExFileSelectBox:LoadFiles $w $flag]
	return
    }

    set listbox [$data(w:filelist) subwidget listbox]
    $listbox delete 0 end

    set data(-value) ""

    tixBusy $w on [$data(w:dirlist) subwidget hlist]

    # wrap in a catch so you can't get stuck in a Busy state
    if {[catch {
	foreach name [tixFSListDir $data(-directory) 0 1 0 \
			  $data(-showhidden) $data(-pattern)] {
	    $listbox insert end $name
	}

	if {$data(oldDir) ne $data(-directory)} {
	    # Otherwise if the user has already selected a file and then
	    # presses "show hidden", the selection won't be wiped out.
	    tixSetSilent $data(w:file) $data(-pattern)
	}
    } err]} {
	tixDebug "tixExFileSelectBox:LoadFiles error for $w\n$err"
    }
    set data(oldDir) $data(-directory)

    tixWidgetDoWhenIdle tixBusy $w off [$data(w:dirlist) subwidget hlist]
}

#
# Called when thd listbox is first mapped
proc tixExFileSelectBox:Map {w} {
    if {![winfo exists $w]} {
	return
    }
    upvar #0 $w data

    set bind(specs) "%V"
    set bind(%V) $data(-value)
    tixEvalCmdBinding $w bind \
	[list tixExFileSelectBox:Cmd-DirList $w] $data(-directory)
}

#----------------------------------------------------------------------
# Public commands
#
#----------------------------------------------------------------------
proc tixExFileSelectBox:invoke {w} {
    tixExFileSelectBox:Invoke $w
}

proc tixExFileSelectBox:filter {w} {
    tixExFileSelectBox:LoadFiles $w reload
}

PKqm�[�c�-//Tix8.4.3/SGrid.tclnu�[���# -*- mode: TCL; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*-
#
#	$Id: SGrid.tcl,v 1.6 2002/01/24 09:13:58 idiscovery Exp $
#
# SGrid.tcl --
#
#	This file implements Scrolled Grid widgets
#
# Copyright (c) 1993-1999 Ioi Kim Lam.
# Copyright (c) 2000-2001 Tix Project Group.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#

global tkPriv
if {![llength [info globals tkPriv]]} {
    tk::unsupported::ExposePrivateVariable tkPriv
}
#--------------------------------------------------------------------------
# tkPriv elements used in this file:
#
# x -	
# y -	
# X -	
# Y -	
#--------------------------------------------------------------------------
#

tixWidgetClass tixScrolledGrid {
    -classname TixScrolledGrid
    -superclass tixScrolledWidget
    -method {
    }
    -flag {
    }
    -configspec {
    }
    -default {
	{.scrollbar			auto}
	{*grid.borderWidth		1}
	{*grid.Background		#c3c3c3}
	{*grid.highlightBackground	#d9d9d9}
	{*grid.relief			sunken}
	{*grid.takeFocus		1}
	{*Scrollbar.takeFocus		0}
    }
}

proc tixScrolledGrid:ConstructWidget {w} {
    upvar #0 $w data

    tixChainMethod $w ConstructWidget

    set data(w:grid) [tixGrid $w.grid]

    set data(w:hsb) \
	[scrollbar $w.hsb -orient horizontal -takefocus 0]
    set data(w:vsb) \
	[scrollbar $w.vsb -orient vertical -takefocus 0]

    set data(pw:client) $data(w:grid)

    pack $data(w:grid) -expand yes -fill both -padx 0 -pady 0
}

proc tixScrolledGrid:SetBindings {w} {
    upvar #0 $w data

    tixChainMethod $w SetBindings

    $data(w:grid) config \
	-xscrollcommand "$data(w:hsb) set"\
	-yscrollcommand "$data(w:vsb) set"\
	-sizecmd [list tixScrolledWidget:Configure $w] \
	-formatcmd "tixCallMethod $w FormatCmd"

    $data(w:hsb) config -command "$data(w:grid) xview"
    $data(w:vsb) config -command "$data(w:grid) yview"

    bindtags $data(w:grid) \
	"$data(w:grid) TixSGrid TixGrid [winfo toplevel $data(w:grid)] all"    

    tixSetMegaWidget $data(w:grid) $w
}

#----------------------------------------------------------------------
#			RAW event bindings
#----------------------------------------------------------------------
proc tixScrolledGridBind {} {
    tixBind TixScrolledGrid <ButtonPress-1> {
	tixScrolledGrid:Button-1 [tixGetMegaWidget %W] %x %y
    }
    tixBind TixScrolledGrid <Shift-ButtonPress-1> {
	tixScrolledGrid:Shift-Button-1 %W %x %y
    }
    tixBind TixScrolledGrid <Control-ButtonPress-1> {
	tixScrolledGrid:Control-Button-1 %W %x %y
    }
    tixBind TixScrolledGrid <ButtonRelease-1> {
	tixScrolledGrid:ButtonRelease-1 %W %x %y
    }
    tixBind TixScrolledGrid <Double-ButtonPress-1> {
	tixScrolledGrid:Double-1 %W  %x %y
    }
    tixBind TixScrolledGrid <B1-Motion> {
	set tkPriv(x) %x 
	set tkPriv(y) %y
	set tkPriv(X) %X
	set tkPriv(Y) %Y

	tixScrolledGrid:B1-Motion %W %x %y
    }
    tixBind TixScrolledGrid <Control-B1-Motion> {
	set tkPriv(x) %x 
	set tkPriv(y) %y
	set tkPriv(X) %X
	set tkPriv(Y) %Y

	tixScrolledGrid:Control-B1-Motion %W %x %y
    }
    tixBind TixScrolledGrid <B1-Leave> {
	set tkPriv(x) %x 
	set tkPriv(y) %y
	set tkPriv(X) %X
	set tkPriv(Y) %Y

	tixScrolledGrid:B1-Leave %W
    }
    tixBind TixScrolledGrid <B1-Enter> {
	tixScrolledGrid:B1-Enter %W %x %y
    }
    tixBind TixScrolledGrid <Control-B1-Leave> {
	set tkPriv(x) %x 
	set tkPriv(y) %y
	set tkPriv(X) %X
	set tkPriv(Y) %Y

	tixScrolledGrid:Control-B1-Leave %W
    }
    tixBind TixScrolledGrid <Control-B1-Enter> {
	tixScrolledGrid:Control-B1-Enter %W %x %y
    }

    # Keyboard bindings
    #
    tixBind TixScrolledGrid <Up> {
	tixScrolledGrid:DirKey %W up
    }
    tixBind TixScrolledGrid <Down> {
	tixScrolledGrid:DirKey %W down
    }
    tixBind TixScrolledGrid <Left> {
	tixScrolledGrid:DirKey %W left
    }
    tixBind TixScrolledGrid <Right> {
	tixScrolledGrid:DirKey %W right
    }
    tixBind TixScrolledGrid <Prior> {
	%W yview scroll -1 pages
    }
    tixBind TixScrolledGrid <Next> {
	%W yview scroll 1 pages
    }
    tixBind TixScrolledGrid <Return> {
	tixScrolledGrid:Return %W 
    }
    tixBind TixScrolledGrid <space> {
	tixScrolledGrid:Space %W 
    }
}

#----------------------------------------------------------------------
#
#
#			 Mouse bindings
#
#
#----------------------------------------------------------------------
proc tixScrolledGrid:Button-1 {w x y} {
    if {[$w cget -state] == "disabled"} {
	return
    }
    if {[$w cget -takefocus]} {
	focus $w
    }
    case [tixScrolled:GetState $w] {
	{0} {
	    tixScrolledGrid:GoState s1 $w $x $y
       	}
	{b0} {
	    tixScrolledGrid:GoState b1 $w $x $y
       	}
	{m0} {
	    tixScrolledGrid:GoState m1 $w $x $y
       	}
	{e0} {
	    tixScrolledGrid:GoState e1 $w $x $y
       	}
    }
}



#----------------------------------------------------------------------
#
#		option configs
#----------------------------------------------------------------------

#----------------------------------------------------------------------
#
#		Widget commands
#----------------------------------------------------------------------


#----------------------------------------------------------------------
#
#		Private Methods
#----------------------------------------------------------------------

#----------------------------------------------------------------------
#		Virtual Methods
#----------------------------------------------------------------------
proc tixScrolledGrid:FormatCmd {w area x1 y1 x2 y2} {
    # do nothing
}

#----------------------------------------------------------------------
# virtual functions to query the client window's scroll requirement
#----------------------------------------------------------------------
proc tixScrolledGrid:GeometryInfo {w mW mH} {
    upvar #0 $w data


    if {$mW < 1} {
	set mW 1
    }
    if {$mH < 1} {
	set mH 1
    }

    return [$data(w:grid) geometryinfo $mW $mH]
}
PKqm�[%�|xr0r0Tix8.4.3/Control.tclnu�[���# -*- mode: TCL; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*-
#
#	$Id: Control.tcl,v 1.9 2004/03/28 02:44:57 hobbs Exp $
#
# Control.tcl --
#
# 	Implements the TixControl Widget. It is called the "SpinBox"
# 	in other toolkits.
#
# Copyright (c) 1993-1999 Ioi Kim Lam.
# Copyright (c) 2000-2001 Tix Project Group.
# Copyright (c) 2004 ActiveState
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#

tixWidgetClass tixControl {
    -classname  TixControl
    -superclass tixLabelWidget
    -method {
	incr decr invoke update
    }
    -flag {
	-allowempty -autorepeat -command -decrcmd -disablecallback
	-disabledforeground -incrcmd -initwait -integer -llimit
	-repeatrate -max -min -selectmode -step -state -validatecmd
	-value -variable -ulimit
    }
    -forcecall {
	-variable -state
    }
    -configspec {
	{-allowempty allowEmpty AllowEmpty false}
	{-autorepeat autoRepeat AutoRepeat true}
	{-command command Command ""}
	{-decrcmd decrCmd DecrCmd ""}
	{-disablecallback disableCallback DisableCallback 0 tixVerifyBoolean}
	{-disabledforeground disabledForeground DisabledForeground #303030}
	{-incrcmd incrCmd IncrCmd ""}
	{-initwait initWait InitWait 500}
	{-integer integer Integer false}
	{-max max Max ""}
	{-min min Min ""}
	{-repeatrate repeatRate RepeatRate 50}
	{-step step Step 1}
	{-state state State normal}
	{-selectmode selectMode SelectMode normal}
	{-validatecmd validateCmd ValidateCmd ""}
	{-value value Value 0}
	{-variable variable Variable ""}
    }
    -alias {
	{-llimit -min}
	{-ulimit -max}
    }
    -default {
	{.borderWidth 			0}
	{*entry.relief			sunken}
	{*entry.width			5}
	{*label.anchor			e}
	{*label.borderWidth		0}
	{*Button.anchor			c}
	{*Button.borderWidth		2}
	{*Button.highlightThickness	1}
	{*Button.takeFocus		0}
    }
}

proc tixControl:InitWidgetRec {w} {
    upvar #0 $w data

    tixChainMethod $w InitWidgetRec

    set data(varInited)	  0
    set data(serial)	0
}

proc tixControl:ConstructFramedWidget {w frame} {
    upvar #0 $w data

    tixChainMethod $w ConstructFramedWidget $frame

    set data(w:entry)  [entry $frame.entry]

    set data(w:incr) \
	[button $frame.incr -bitmap [tix getbitmap incr] -takefocus 0]
    set data(w:decr) \
	[button $frame.decr -bitmap [tix getbitmap decr] -takefocus 0]

#    tixForm $data(w:entry) -left 0 -top 0 -bottom -1 -right $data(w:decr) 
#    tixForm $data(w:incr) -right -1 -top 0 -bottom %50
#    tixForm $data(w:decr) -right -1 -top $data(w:incr) -bottom -1

    pack $data(w:entry) -side left   -expand yes -fill both
    pack $data(w:decr)  -side bottom -fill both -expand yes
    pack $data(w:incr)  -side top    -fill both -expand yes

    $data(w:entry) delete 0 end
    $data(w:entry) insert 0 $data(-value)

    # This value is used to configure the disable/normal fg of the ebtry
    set data(entryfg) [$data(w:entry) cget -fg]
    set data(labelfg) [$data(w:label) cget -fg]
}

proc tixControl:SetBindings {w} {
    upvar #0 $w data

    tixChainMethod $w SetBindings

    bind $data(w:incr) <ButtonPress-1> \
	[list after idle tixControl:StartRepeat $w 1]
    bind $data(w:decr) <ButtonPress-1> \
	[list after idle tixControl:StartRepeat $w -1]

    # These bindings will stop the button autorepeat when the 
    # mouse button is up
    foreach btn [list $data(w:incr) $data(w:decr)] {
	bind $btn <ButtonRelease-1> [list tixControl:StopRepeat $w]
    }

    tixSetMegaWidget $data(w:entry) $w

    # If user press <return>, verify the value and call the -command
    #
    tixAddBindTag $data(w:entry) TixControl:Entry
}

proc tixControlBind {} {
    tixBind TixControl:Entry <Return> {
	tixControl:Invoke [tixGetMegaWidget %W] 1
    }
    tixBind TixControl:Entry <Escape> {
	tixControl:Escape [tixGetMegaWidget %W]
    }
    tixBind TixControl:Entry <Up> {
	[tixGetMegaWidget %W] incr
    }
    tixBind TixControl:Entry <Down> {
	[tixGetMegaWidget %W] decr
    }
    tixBind TixControl:Entry <FocusOut> {
	if {"%d" eq "NotifyNonlinear" || "%d" eq "NotifyNonlinearVirtual"} {
	    tixControl:Tab [tixGetMegaWidget %W] %d
	}
    }
    tixBind TixControl:Entry <Any-KeyPress> {
	tixControl:KeyPress [tixGetMegaWidget %W]
    }
    tixBind TixControl:Entry <Any-Tab> {
	# This has a higher priority than the <Any-KeyPress>  binding
	# --> so that data(edited) is not set
    }
}

#----------------------------------------------------------------------
#                           CONFIG OPTIONS
#----------------------------------------------------------------------
proc tixControl:config-state {w arg} {
    upvar #0 $w data

    if {$arg eq "normal"} {
	$data(w:incr)  config -state $arg
	$data(w:decr)  config -state $arg
	catch {
	    $data(w:label) config -fg $data(labelfg)
	}
	$data(w:entry) config -state $arg -fg $data(entryfg)
    } else {
	$data(w:incr)  config -state $arg
	$data(w:decr)  config -state $arg
	catch {
	    $data(w:label) config -fg $data(-disabledforeground)
	}
	$data(w:entry) config -state $arg -fg $data(-disabledforeground)
    }
}

proc tixControl:config-value {w value} {
    upvar #0 $w data

    tixControl:SetValue $w $value 0 1

    # This will tell the Intrinsics: "Please use this value"
    # because "value" might be altered by SetValues
    #
    return $data(-value)
}

proc tixControl:config-variable {w arg} {
    upvar #0 $w data

    if {[tixVariable:ConfigVariable $w $arg]} {
       # The value of data(-value) is changed if tixVariable:ConfigVariable 
       # returns true
       tixControl:SetValue $w $data(-value) 1 1
    }
    catch {
	unset data(varInited)
    }
    set data(-variable) $arg
}

#----------------------------------------------------------------------
#                         User Commands
#----------------------------------------------------------------------
proc tixControl:incr {w {by 1}} {
    upvar #0 $w data

    if {$data(-state) ne "disabled"} {
	if {![catch {$data(w:entry) index sel.first}]} {
	    $data(w:entry) select from end
	    $data(w:entry) select to   end
	}
	# CYGNUS - why set value before changing it?
	#tixControl:SetValue $w [$data(w:entry) get] 0 1
	tixControl:AdjustValue $w $by
    }
}

proc tixControl:decr {w {by 1}} {
    upvar #0 $w data

    if {$data(-state) ne "disabled"} {
	if {![catch {$data(w:entry) index sel.first}]} {
	    $data(w:entry) select from end
	    $data(w:entry) select to   end
	}
	# CYGNUS - why set value before changing it?
	#tixControl:SetValue $w [$data(w:entry) get] 0 1
	tixControl:AdjustValue $w [expr {0 - $by}]
    }
}

proc tixControl:invoke {w} {
    upvar #0 $w data

    tixControl:Invoke $w 0
}

proc tixControl:update {w} {
    upvar #0 $w data

    if {[info exists data(edited)]} {
	tixControl:invoke $w
    }
}

#----------------------------------------------------------------------
#                       Internal Commands
#----------------------------------------------------------------------

# Change the value by a multiple of the data(-step)
#
proc tixControl:AdjustValue {w amount} {
    upvar #0 $w data

    if {$amount == 1 && [llength $data(-incrcmd)]} {
	set newValue [tixEvalCmdBinding $w $data(-incrcmd) "" $data(-value)]
    } elseif {$amount == -1 && [llength $data(-decrcmd)]} {
	set newValue [tixEvalCmdBinding $w $data(-decrcmd) "" $data(-value)]
    } else {
	set newValue [expr {$data(-value) + $amount * $data(-step)}]
    }

    if {$data(-state) ne "disabled"} {
	tixControl:SetValue $w $newValue 0 1
    }
}

proc tixControl:SetValue {w newvalue noUpdate forced} {
    upvar #0 $w data

    if {[$data(w:entry) selection present]} {
	set oldSelection [list [$data(w:entry) index sel.first] \
			      [$data(w:entry) index sel.last]]
    }

    set oldvalue $data(-value)
    set oldCursor [$data(w:entry) index insert]
    set changed 0


    if {[llength $data(-validatecmd)]} {
	# Call the user supplied validation command
	#
       set data(-value) [tixEvalCmdBinding $w $data(-validatecmd) "" $newvalue]
    } else {
	# Here we only allow int or floating numbers
	#
	# If the new value is not a valid number, the old value will be
	# kept due to the "catch" statements
	#
	if {[catch {expr 0+$newvalue}]} {
	    set newvalue 0
	    set data(-value) 0
	    set changed 1
	}

	if {$newvalue == ""} {
	    if {![string is true -strict $data(-allowempty)]} {
		set newvalue 0
		set changed 1
	    } else {
		set data(-value) ""
	    }
	}

	if {$newvalue != ""} {
	    # Change this to a valid decimal string (trim leading 0)
	    #
	    regsub -- {^[0]*} $newvalue "" newvalue
	    if {[catch {expr 0+$newvalue}]} {
		set newvalue 0
		set data(-value) 0
		set changed 1
	    }
	    if {$newvalue == ""} {
		set newvalue 0
	    }

	    if {[string is true -strict $data(-integer)]} {
		set data(-value) [tixGetInt -nocomplain $newvalue]
	    } else {
		if {[catch {set data(-value) [format "%d" $newvalue]}]} {
		    if {[catch {set data(-value) [expr $newvalue+0.0]}]} {
			set data(-value) $oldvalue
		    }
		}
	    }
	    
	    # Now perform boundary checking
	    #
	    if {$data(-max) != "" && $data(-value) > $data(-max)} {
		set data(-value) $data(-max)
	    }
	    if {$data(-min) != "" && $data(-value) < $data(-min)} {
		set data(-value) $data(-min)
	    }
	}
    }

    if {! $noUpdate} {
	tixVariable:UpdateVariable $w
    }

    if {$forced || ($newvalue ne $data(-value)) || $changed} {
	$data(w:entry) delete 0 end
	$data(w:entry) insert 0 $data(-value)
	$data(w:entry) icursor $oldCursor
	if {[info exists oldSelection]} {
	    eval [list $data(w:entry) selection range] $oldSelection
	}
    }

    if {!$data(-disablecallback) && $data(-command) != ""} {
	if {![info exists data(varInited)]} {
	    set bind(specs) ""
	    tixEvalCmdBinding $w $data(-command) bind $data(-value)
	}
    }
}

proc tixControl:Invoke {w forced} {
    upvar #0 $w data

    catch {
	unset data(edited)
    }

    if {[catch {$data(w:entry) index sel.first}] == 0} {
	# THIS ENTRY OWNS SELECTION --> TURN IT OFF
	#
	$data(w:entry) select from end
	$data(w:entry) select to   end
    }

    tixControl:SetValue $w [$data(w:entry) get] 0 $forced
}

#----------------------------------------------------------------------
# The three functions StartRepeat, Repeat and StopRepeat make use of the
# data(serial) variable to discard spurious repeats: If a button is clicked
# repeatedly but is not hold down, the serial counter will increase
# successively and all "after" time event handlers will be discarded
#----------------------------------------------------------------------
proc tixControl:StartRepeat {w amount} {
    if {![winfo exists $w]} {
	return
    }

    upvar #0 $w data

    incr data(serial)
    # CYGNUS bug fix
    # Need to set a local variable because otherwise the buttonrelease
    # callback could change the value of data(serial) between now and
    # the time the repeat is scheduled.
    set serial $data(serial)

    if {![catch {$data(w:entry) index sel.first}]} {
	$data(w:entry) select from end
	$data(w:entry) select to   end
    }

    if {[info exists data(edited)]} {
	unset data(edited)
	tixControl:SetValue $w [$data(w:entry) get] 0 1
    }

    tixControl:AdjustValue $w $amount

    if {$data(-autorepeat)} {
	after $data(-initwait) tixControl:Repeat $w $amount $serial
    }

    focus $data(w:entry)
}

proc tixControl:Repeat {w amount serial} {
    if {![winfo exists $w]} {
	return
    }
    upvar #0 $w data

    if {$serial eq $data(serial)} {
	tixControl:AdjustValue $w $amount

	if {$data(-autorepeat)} {
	   after $data(-repeatrate) tixControl:Repeat $w $amount $serial
	}
    }
}

proc tixControl:StopRepeat {w} {
    upvar #0 $w data

    incr data(serial)
}

proc tixControl:Destructor {w} {

    tixVariable:DeleteVariable $w

    # Chain this to the superclass
    #
    tixChainMethod $w Destructor
}

# ToDo: maybe should return -code break if the value is not good ...
#
proc tixControl:Tab {w detail} {
    upvar #0 $w data

    if {![info exists data(edited)]} {
	return
    } else {
	unset data(edited)
    }

    tixControl:invoke $w
}

proc tixControl:Escape {w} {
    upvar #0 $w data

    $data(w:entry) delete 0 end
    $data(w:entry) insert 0 $data(-value)
}

proc tixControl:KeyPress {w} {
    upvar #0 $w data

    if {$data(-selectmode) eq "normal"} {
	set data(edited) 0
	return
    } else {
	# == "immediate"
	after 1 tixControl:invoke $w
    }
}
PKqm�[�����Tix8.4.3/SimpDlg.tclnu�[���# -*- mode: TCL; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*-
#
#	$Id: SimpDlg.tcl,v 1.2 2001/12/09 05:04:02 idiscovery Exp $
#
# SimpDlg.tcl --
#
#	This file implements Simple Dialog widgets
#
# Copyright (c) 1993-1999 Ioi Kim Lam.
# Copyright (c) 2000-2001 Tix Project Group.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#

tixWidgetClass tixSimpleDialog {
    -classname TixSimpleDialog
    -superclass tixDialogShell
    -method {}
    -flag   {
	-buttons -message -type
    }
    -configspec {
	{-buttons buttons Buttons ""}
	{-message message Message ""}
	{-type type Type info}
    }
}

proc tixSimpleDialog:ConstructWidget {w} {
    upvar #0 $w data

    tixChainMethod $w ConstructWidget

    frame $w.top

    label $w.top.icon -image [tix getimage $data(-type)]
    label $w.top.message -text $data(-message)

    pack $w.top.icon    -side left -padx 20 -pady 50 -anchor c
    pack $w.top.message -side left -padx 10 -pady 50 -anchor c

    frame $w.bot

    pack $w.bot -side bottom -fill x
    pack $w.top -side top -expand yes -fill both
}
PKqm�[K�����Tix8.4.3/StdShell.tclnu�[���# -*- mode: TCL; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*-
#
#	$Id: StdShell.tcl,v 1.2 2001/12/09 05:04:02 idiscovery Exp $
#
# StdShell.tcl --
#
#	Standard Dialog Shell.
#
# Copyright (c) 1993-1999 Ioi Kim Lam.
# Copyright (c) 2000-2001 Tix Project Group.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#

tixWidgetClass tixStdDialogShell {
    -classname TixStdDialogShell
    -superclass tixDialogShell
    -method {}
    -flag   {
	-cached
    }
    -configspec {
	{-cached cached Cached ""}
    }
}

proc tixStdDialogShell:ConstructWidget {w} {
    upvar #0 $w data

    tixChainMethod $w ConstructWidget
    set data(w:btns)   [tixStdButtonBox $w.btns]
    set data(w_tframe) [frame $w.tframe]

    pack $data(w_tframe) -side top -expand yes -fill both
    pack $data(w:btns) -side bottom -fill both

    tixCallMethod $w ConstructTopFrame $data(w_tframe)
}


# Subclasses of StdDialogShell should override this method instead of
# ConstructWidget.
#
# Override : always
# chain    : before
proc tixStdDialogShell:ConstructTopFrame {w frame} {
    # Do nothing
}
PKqm�[�j��xxTix8.4.3/StdBBox.tclnu�[���# -*- mode: TCL; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*-
#
#	$Id: StdBBox.tcl,v 1.2 2001/12/09 05:04:02 idiscovery Exp $
#
# StdBBox.tcl --
#
#	Standard Button Box, used in standard dialog boxes
#
# Copyright (c) 1993-1999 Ioi Kim Lam.
# Copyright (c) 2000-2001 Tix Project Group.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#



tixWidgetClass tixStdButtonBox {
    -classname TixStdButtonBox
    -superclass tixButtonBox
    -flag {
	-applycmd -cancelcmd -helpcmd -okcmd
    }
    -configspec {
	{-applycmd applyCmd ApplyCmd ""}
	{-cancelcmd cancelCmd CancelCmd ""}
	{-helpcmd helpCmd HelpCmd ""}
	{-okcmd okCmd OkCmd ""}
    }
    -default {
	{.borderWidth 	1}
	{.relief 	raised}
	{.padX 		5}
	{.padY 		10}
	{*Button.anchor	c}
	{*Button.padX	5}
    }
}

proc tixStdButtonBox:ConstructWidget {w} {
    upvar #0 $w data

    tixChainMethod $w ConstructWidget

    $w add ok     -text OK     -under 0 -width 6 -command $data(-okcmd)
    $w add apply  -text Apply  -under 0 -width 6 -command $data(-applycmd)
    $w add cancel -text Cancel -under 0 -width 6 -command $data(-cancelcmd)
    $w add help   -text Help   -under 0 -width 6 -command $data(-helpcmd)
}

proc tixStdButtonBox:config {w flag value} {
    upvar #0 $w data

    case $flag {
	-okcmd {
	    $data(w:ok)     config -command $value
	}
	-applycmd {
	    $data(w:apply)  config -command $value
	}
	-cancelcmd {
	    $data(w:cancel) config -command $value
	}
	-helpcmd {
	    $data(w:help)   config -command $value
	}
	default {
	    tixChainMethod $w config $flag $value
	}
    }
}
PKqm�[V��##Tix8.4.3/DirTree.tclnu�[���# -*- mode: TCL; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*-
#
#	$Id: DirTree.tcl,v 1.4 2004/03/28 02:44:57 hobbs Exp $
#
# DirTree.tcl --
#
#	Implements directory tree for Unix file systems
#
#       What the indicators mean:
#
#	(+): There are some subdirectories in this directory which are not
#	     currently visible.
#	(-): This directory has some subdirectories and they are all visible
#
#      none: The dir has no subdirectori(es).
#
# Copyright (c) 1993-1999 Ioi Kim Lam.
# Copyright (c) 2000-2001 Tix Project Group.
# Copyright (c) 2004 ActiveState
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#

##
## The tixDirTree require special FS handling due to it's limited
## separator idea (instead of real tree).
##

tixWidgetClass tixDirTree {
    -classname TixDirTree
    -superclass tixVTree
    -method {
	activate chdir refresh
    }
    -flag {
	-browsecmd -command -directory -disablecallback -showhidden -value
    }
    -configspec {
	{-browsecmd browseCmd BrowseCmd ""}
	{-command command Command ""}
	{-disablecallback disableCallback DisableCallback 0 tixVerifyBoolean}
	{-showhidden showHidden ShowHidden 0 tixVerifyBoolean}
	{-value value Value ""}
    }
    -alias {
	{-directory -value}
    }
    -default {
	{.scrollbar			auto}
	{*Scrollbar.takeFocus           0}
	{*borderWidth                   1}
	{*hlist.indicator               1}
	{*hlist.background              #c3c3c3}
	{*hlist.drawBranch              1}
	{*hlist.height                  10}
	{*hlist.highlightBackground     #d9d9d9}
	{*hlist.indent                  20}
	{*hlist.itemType                imagetext}
	{*hlist.padX                    3}
	{*hlist.padY                    0}
	{*hlist.relief                  sunken}
	{*hlist.takeFocus               1}
	{*hlist.wideSelection           0}
	{*hlist.width                   20}
    }
}

proc tixDirTree:InitWidgetRec {w} {
    upvar #0 $w data

    tixChainMethod $w InitWidgetRec

    if {$data(-value) == ""} {
	set data(-value) [pwd]
    }

    tixDirTree:SetDir $w [file normalize $data(-value)]
}

proc tixDirTree:ConstructWidget {w} {
    upvar #0 $w data

    tixChainMethod $w ConstructWidget
    tixDoWhenMapped $w [list tixDirTree:StartUp $w]

    $data(w:hlist) config -separator [tixFSSep] \
	-selectmode "single" -drawbranch 1

    # We must creat an extra copy of these images to avoid flashes on
    # the screen when user changes directory
    #
    set data(images) [image create compound -window $data(w:hlist)]
    $data(images) add image -image [tix getimage act_fold]
    $data(images) add image -image [tix getimage folder]
    $data(images) add image -image [tix getimage openfold]
}

proc tixDirTree:SetBindings {w} {
    upvar #0 $w data

    tixChainMethod $w SetBindings
}

# Add one dir into the node (parent directory), sorted alphabetically
#
proc tixDirTree:AddToList {w fsdir image} {
    upvar #0 $w data

    set dir    [tixFSInternal $fsdir]

    if {[$data(w:hlist) info exists $dir]} { return }

    set parent [file dirname $fsdir]
    if {$fsdir eq $parent} {
	# root node
	set node ""
    } else {
	# regular node
	set node [tixFSInternal $parent]
    }
    set added 0
    set text  [tixFSDisplayFileName $fsdir]
    foreach sib [$data(w:hlist) info children $node] {
	if {[string compare $dir $sib] < 0} {
	    $data(w:hlist) add $dir -before $sib -text $text -image $image
	    set added 1
	    break
	}
    }
    if {!$added} {
	$data(w:hlist) add $dir -text $text -image $image
    }

    # Check to see if we have children (%% optimize!)
    if {[llength [tixFSListDir $fsdir 1 0 0 $data(-showhidden)]]} {
	tixVTree:SetMode $w $dir open
    }
}

proc tixDirTree:LoadDir {w fsdir {mode toggle}} {
    if {![winfo exists $w]} { return }
    upvar #0 $w data

    # Add the directory and set it to the active directory
    #
    set fsdir [tixFSNormalize $fsdir]
    set dir   [tixFSInternal $fsdir]
    if {![$data(w:hlist) info exists $dir]} {
	# Add $dir and all ancestors of $dir into the HList widget
	set fspath ""
	set imgopenfold [tix getimage openfold]
	foreach part [tixFSAncestors $fsdir] {
	    set fspath [file join $fspath $part]
	    tixDirTree:AddToList $w $fspath $imgopenfold
	}
    }
    $data(w:hlist) entryconfig $dir -image [tix getimage act_fold]

    if {$mode eq "toggle"} {
	if {[llength [$data(w:hlist) info children $dir]]} {
	    set mode flatten
	} else {
	    set mode expand
	}
    }

    if {$mode eq "expand"} {
	# Add all the sub directories of fsdir into the HList widget
	tixBusy $w on $data(w:hlist)
	set imgfolder [tix getimage folder]
	foreach part [tixFSListDir $fsdir 1 0 0 $data(-showhidden)] {
	    tixDirTree:AddToList $w [file join $fsdir $part] $imgfolder
	}
	tixWidgetDoWhenIdle tixBusy $w off $data(w:hlist)
	# correct indicator to represent children status (added above)
	if {[llength [$data(w:hlist) info children $dir]]} {
	    tixVTree:SetMode $w $dir close
	} else {
	    tixVTree:SetMode $w $dir none
	}
    } else {
	$data(w:hlist) delete offsprings $dir
	tixVTree:SetMode $w $dir open
    }
}

proc tixDirTree:ToggleDir {w value mode} {
    upvar #0 $w data

    tixDirTree:LoadDir $w $value $mode
    tixDirTree:CallCommand $w
}

proc tixDirTree:CallCommand {w} {
    upvar #0 $w data

    if {[llength $data(-command)] && !$data(-disablecallback)} {
	set bind(specs) {%V}
	set bind(%V)    $data(-value)

	tixEvalCmdBinding $w $data(-command) bind $data(-value)
    }
}

proc tixDirTree:CallBrowseCmd {w ent} {
    upvar #0 $w data

    if {[llength $data(-browsecmd)] && !$data(-disablecallback)} {
	set bind(specs) {%V}
	set bind(%V)    $data(-value)

	tixEvalCmdBinding $w $data(-browsecmd) bind [list $data(-value)]
    }
}

proc tixDirTree:StartUp {w} {
    if {![winfo exists $w]} { return }

    upvar #0 $w data

    # make sure that all the basic volumes are listed
    set imgopenfold [tix getimage openfold]
    foreach fspath [tixFSVolumes] {
	tixDirTree:AddToList $w $fspath $imgopenfold
    }

    tixDirTree:LoadDir $w [tixFSExternal $data(i-directory)]
}

proc tixDirTree:ChangeDir {w fsdir {forced 0}} {
    upvar #0 $w data

    set dir [tixFSInternal $fsdir]
    if {!$forced && $data(i-directory) eq $dir} {
	return
    }

    if {!$forced && [$data(w:hlist) info exists $dir]} {
	# Set the old directory to "non active"
	#
	if {[$data(w:hlist) info exists $data(i-directory)]} {
	    $data(w:hlist) entryconfig $data(i-directory) \
		-image [tix getimage folder]
	}

	$data(w:hlist) entryconfig $dir -image [tix getimage act_fold]
    } else {
	if {$forced} {
	    if {[llength [$data(w:hlist) info children $dir]]} {
		set mode expand
	    } else {
		set mode flatten
	    }
	} else {
	    set mode toggle
	}
	tixDirTree:LoadDir $w $fsdir $mode
	tixDirTree:CallCommand $w
    }
    tixDirTree:SetDir $w $fsdir
}


proc tixDirTree:SetDir {w path} {
    upvar #0 $w data

    set data(i-directory) [tixFSInternal $path]
    set data(-value) [tixFSNativeNorm $path]
}

#----------------------------------------------------------------------
#
# Virtual Methods
#
#----------------------------------------------------------------------
proc tixDirTree:OpenCmd {w ent} {
    set fsdir [tixFSExternal $ent]
    tixDirTree:ToggleDir $w $fsdir expand
    tixDirTree:ChangeDir $w $fsdir
    tixDirTree:CallBrowseCmd $w $fsdir
}

proc tixDirTree:CloseCmd {w ent} {
    set fsdir [tixFSExternal $ent]
    tixDirTree:ToggleDir $w $fsdir flatten
    tixDirTree:ChangeDir $w $fsdir
    tixDirTree:CallBrowseCmd $w $fsdir
}

proc tixDirTree:Command {w B} {
    upvar #0 $w data
    upvar $B bind

    set ent [tixEvent flag V]
    tixChainMethod $w Command $B

    if {[llength $data(-command)]} {
	set fsdir [tixFSExternal $ent]
	tixEvalCmdBinding $w $data(-command) bind $fsdir
    }
}

# This is a virtual method
#
proc tixDirTree:BrowseCmd {w B} {
    upvar #0 $w data
    upvar 1 $B bind

    set ent [tixEvent flag V]
    set fsdir [tixFSExternal $ent]

    # This is a hack because %V may have been modified by callbrowsecmd
    set fsdir [file normalize $fsdir]

    tixDirTree:ChangeDir $w $fsdir
    tixDirTree:CallBrowseCmd $w $fsdir
}

#----------------------------------------------------------------------
#
# Public Methods
#
#----------------------------------------------------------------------
proc tixDirTree:chdir {w value} {
    tixDirTree:ChangeDir $w [file normalize $value]
}

proc tixDirTree:refresh {w {dir ""}} {
    upvar #0 $w data

    if {$dir eq ""} {
	set dir $data(-value)
    }
    set dir [file normalize $dir]

    tixDirTree:ChangeDir $w $dir 1

    # Delete any stale directories that no longer exist
    #
    foreach child [$data(w:hlist) info children [tixFSInternal $dir]] {
	if {![file exists [tixFSExternal $child]]} {
	    $data(w:hlist) delete entry $child
	}
    }
}

proc tixDirTree:config-directory {w value} {
    tixDirTree:ChangeDir $w [file normalize $value]
}
PKqm�[eϰ`

Tix8.4.3/Variable.tclnu�[���# -*- mode: TCL; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*-
#
#	$Id: Variable.tcl,v 1.4 2001/12/09 05:04:02 idiscovery Exp $
#
# Variable.tcl --
#
#	Routines in this file are used to set up and operate variables
#	for classes that support the -variable option
#
# Copyright (c) 1993-1999 Ioi Kim Lam.
# Copyright (c) 2000-2001 Tix Project Group.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#



# tixVariable:ConfigVariable --
#
# 	Set up the -variable option for the object $w
#
# Side effects:
#
#	data(-variable) is changed to the name of the global variable
#	if the global variable exists, data(-value) takes the value of this
#	variable.
#	if the global variable does not exist, it is created with the
#	current data(-value)
#
# Return value:
#
#	true is data(-value) is changed, indicating that data(-command)
#	should be invoked.
#
proc tixVariable:ConfigVariable {w arg} {
    upvar #0 $w data

    set changed 0

    if {$data(-variable) != ""} {
	uplevel #0 \
	    [list trace vdelete $data(-variable) w "tixVariable:TraceProc $w"]
    }

    if {$arg != ""} {
	if {[uplevel #0 info exists [list $arg]]} {
	    # This global variable exists, we use its value
	    #
	    set data(-value) [uplevel #0 set [list $arg]]
	    set changed 1
	} else {
	    # This global variable does not exist; let's set it 
	    #
	    uplevel #0 [list set $arg $data(-value)]
	}
	uplevel #0 \
	    [list trace variable $arg w "tixVariable:TraceProc $w"]
    }

    return $changed
}

proc tixVariable:UpdateVariable {w} {
    upvar #0 $w data

    if {$data(-variable) != ""} {
	uplevel #0 \
	    [list trace vdelete  $data(-variable) w "tixVariable:TraceProc $w"]
	uplevel #0 \
	    [list set $data(-variable) $data(-value)]
	uplevel #0 \
	    [list trace variable $data(-variable) w "tixVariable:TraceProc $w"]

	# just in case someone has another trace and restricted my change
	#
	set data(-value) [uplevel #0 set [list $data(-variable)]]
    }
}

proc tixVariable:TraceProc {w name1 name2 op} {
    upvar #0 $w data
    set varname $data(-variable)

    if {[catch {$w config -value [uplevel #0 [list set $varname]]} err]} {
	uplevel #0 [list set $varname [list [$w cget -value]]]
	error $err
    }
    return
}

proc tixVariable:DeleteVariable {w} {
    upvar #0 $w data

    # Must delete the trace command of the -variable
    #
    if {$data(-variable) != ""} {
	uplevel #0 \
	    [list trace vdelete $data(-variable) w "tixVariable:TraceProc $w"]
    }
}
PKqm�[å�@��Tix8.4.3/DragDrop.tclnu�[���# -*- mode: TCL; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*-
#
#	$Id: DragDrop.tcl,v 1.4 2001/12/09 05:04:02 idiscovery Exp $
#
# DragDrop.tcl ---
#
#	Implements drag+drop for Tix widgets.
#
# Copyright (c) 1993-1999 Ioi Kim Lam.
# Copyright (c) 2000-2001 Tix Project Group.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#

tixClass tixDragDropContext {
    -superclass {}
    -classname  TixDragDropContext
    -method {
	cget configure drag drop set startdrag
    }
    -flag {
	-command -source
    }
    -configspec {
	{-command ""}
	{-source ""}
    }
}

proc tixDragDropContext:Constructor {w} {
    upvar #0 $w data
}

#----------------------------------------------------------------------
# Private methods
#
#----------------------------------------------------------------------
proc tixDragDropContext:CallCommand {w target command X Y} {
    upvar #0 $w data
     
    set x [expr $X-[winfo rootx $target]]
    set y [expr $Y-[winfo rooty $target]]
    
    regsub %x $command $x command
    regsub %y $command $y command
    regsub %X $command $X command
    regsub %Y $command $Y command
    regsub %W $command $target command
    regsub %S $command [list $data(-command)] command

    eval $command
}

proc tixDragDropContext:Send {w target event X Y} {
    upvar #0 $w data
    global tixDrop

    foreach tag [tixDropBindTags $target] {
	if {[info exists tixDrop($tag,$event)]} {
	    tixDragDropContext:CallCommand $w $target \
		$tixDrop($tag,$event) $X $Y
	}
    }
}

#----------------------------------------------------------------------
# set --
#
#	Set the "small data" of the type supported by the source widget
#----------------------------------------------------------------------

proc tixDragDropContext:set {w type data} {

}

#----------------------------------------------------------------------
# startdrag --
#
#	Start the dragging action
#----------------------------------------------------------------------
proc tixDragDropContext:startdrag {w x y} {
    upvar #0 $w data

    set data(oldTarget) ""

    $data(-source) config -cursor "[tix getbitmap drop] black"
    tixDragDropContext:drag $w $x $y
}

#----------------------------------------------------------------------
# drag --
#
#	Continue the dragging action
#----------------------------------------------------------------------
proc tixDragDropContext:drag {w X Y} {
    upvar #0 $w data
    global tixDrop

    set target [winfo containing -displayof $w $X $Y]
 
    if {$target != $data(oldTarget)} {
	if {$data(oldTarget) != ""} {
	    tixDragDropContext:Send $w $data(oldTarget) <Out> $X $Y 
	}
	if {$target != ""} {
	    tixDragDropContext:Send $w $target <In> $X $Y
	}
	set data(oldTarget) $target
    }
    if {$target != ""} {
	tixDragDropContext:Send $w $target <Over> $X $Y
    }
}

proc tixDragDropContext:drop {w X Y} {
    upvar #0 $w data
    global tixDrop

    set target [winfo containing -displayof $w $X $Y]
    if {$target != ""} {
	tixDragDropContext:Send $w $target <Drop> $X $Y
    }

    if {$data(-source) != ""} {
	$data(-source) config -cursor ""
    }
    set data(-source) ""
}

#----------------------------------------------------------------------
# Public Procedures -- This is NOT a member of the tixDragDropContext
#		       class!
#
# parameters :
#	$w:	who wants to start dragging? (currently ignored)
#----------------------------------------------------------------------
proc tixGetDragDropContext {w} {
    global tixDD
    if {[info exists tixDD]} {
	return tixDD
    }

    return [tixDragDropContext tixDD]
}

proc tixDropBind {w event command} {
    global tixDrop

    set tixDrop($w) 1
    set tixDrop($w,$event) $command
}

proc tixDropBindTags {w args} {
    global tixDropTags

    if {$args == ""} {
	if {[info exists tixDropTags($w)]} {
	    return $tixDropTags($w)
	} else {
	    return [list [winfo class $w] $w]
	}
    } else {
	set tixDropTags($w) $args
    }
}
PKqm�[kv$$Tix8.4.3/Select.tclnu�[���# -*- mode: TCL; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*-
#
#	$Id: Select.tcl,v 1.3 2001/12/09 05:04:02 idiscovery Exp $
#
# Select.tcl --
#
#	Implement the tixSelect widget.
#
# Copyright (c) 1993-1999 Ioi Kim Lam.
# Copyright (c) 2000-2001 Tix Project Group.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#

tixWidgetClass tixSelect {
    -superclass tixLabelWidget
    -classname  TixSelect
    -method {
	add button invoke
    }
    -flag {
	-allowzero -buttontype -command -disablecallback -orientation
	-orient -padx -pady -radio -selectedbg -state -validatecmd
	-value -variable
    }
    -forcecall {
	-variable -state
    }
    -static {
	-allowzero -orientation -padx -pady -radio
    }
    -configspec {
	{-allowzero allowZero AllowZero 0 tixVerifyBoolean}
	{-buttontype buttonType ButtonType button}
	{-command command Command ""}
	{-disablecallback disableCallback DisableCallback 0 tixVerifyBoolean}
	{-orientation orientation Orientation horizontal}
	{-padx padx Pad 0}
	{-pady pady Pad 0}
	{-radio radio Radio 0 tixVerifyBoolean}
	{-selectedbg selectedBg SelectedBg gray}
	{-state state State normal}
	{-validatecmd validateCmd ValidateCmd ""}
	{-value value Value ""}
	{-variable variable Variable ""}
    }
    -alias {
	{-orient -orientation}
    }
    -default {
	{*frame.borderWidth			1}
	{*frame.relief				sunken}
	{*Button.borderWidth			2}
	{*Button.highlightThickness		0}
    }
}

proc tixSelect:InitWidgetRec {w} {
    upvar #0 $w data

    tixChainMethod $w InitWidgetRec
    set data(items)    ""
    set data(buttonbg) ""
    set data(varInited)	  0
}

#----------------------------------------------------------------------
#                           CONFIG OPTIONS
#----------------------------------------------------------------------
proc tixSelect:config-state {w arg} {
    upvar #0 $w data

    if {$arg == "disabled"} {
	foreach item $data(items) {
	    $data(w:$item) config -state disabled -relief raised \
		-bg $data(buttonbg)
	}
	if {![info exists data(labelFg)]} {
	    set data(labelFg) [$data(w:label) cget -foreground]
	    catch {
		$data(w:label) config -fg [tix option get disabled_fg]
	    }
	}
    } else {
	foreach item $data(items) {
	    if {[lsearch $data(-value) $item] != -1} {
		# This button is selected
		#
		$data(w:$item) config -relief sunken -bg $data(-selectedbg) \
		    -state normal
	    } else {
		$data(w:$item) config -relief raised -bg $data(buttonbg) \
		    -command "$w invoke $item" -state normal
	    }
	}
	if {[info exists data(labelFg)]} {
	    catch {
		$data(w:label) config -fg $data(labelFg)
	    }
	    unset data(labelFg)
	}
    }

    return ""
}

proc tixSelect:config-variable {w arg} {
    upvar #0 $w data

    set oldValue $data(-value)

    if {[tixVariable:ConfigVariable $w $arg]} {
	# The value of data(-value) is changed if tixVariable:ConfigVariable 
	# returns true
	set newValue $data(-value)
	set data(-value) $oldValue
	tixSelect:config-value $w $newValue
    }
    catch {
	unset data(varInited)
    }
    set data(-variable) $arg
}

proc tixSelect:config-value {w value} {
    upvar #0 $w data

    # sanity checking
    #
    foreach item $value {
	if {[lsearch $data(items) $item] == "-1"} {
	    error "subwidget \"$item\" does not exist"
	}
    }

    tixSelect:SetValue $w $value
}

#----------------------------------------------------------------------
#                     WIDGET COMMANDS
#----------------------------------------------------------------------
proc tixSelect:add {w name args} {
    upvar #0 $w data

    set data(w:$name) [eval $data(-buttontype) $data(w:frame).$name -command \
	 [list "$w invoke $name"] -takefocus 0 $args]

    if {$data(-orientation) == "horizontal"} {
	pack $data(w:$name) -side left -expand yes -fill y\
	    -padx $data(-padx) -pady $data(-pady)
    } else {
	pack $data(w:$name) -side top -expand yes  -fill x\
	    -padx $data(-padx) -pady $data(-pady)
    }

    if {$data(-state) == "disabled"} {
	$data(w:$name) config -relief raised -state disabled
    }

    # find out the background of the buttons
    #
    if {$data(buttonbg) == ""} {
	set data(buttonbg) [lindex [$data(w:$name) config -background] 4]
	
    }

    lappend data(items) $name
}

# Obsolete command
#
proc tixSelect:button {w name args} {
    upvar #0 $w data

    if {$args != ""} {
	return [eval $data(w:$name) $args]
    } else {
	return $w.$name
    }
}

# This is called when a button is invoked
#
proc tixSelect:invoke {w button} {
    upvar #0 $w data

    if {$data(-state) != "normal"} {
	return
    }

    set newValue $data(-value)

    if {[lsearch $data(-value) $button] != -1} {
	# This button was selected
	#
    	if {[llength $data(-value)] > 1 || [tixGetBoolean $data(-allowzero)]} {

	    # Take the button from the selected list
	    #
	    set newValue ""
	    foreach item $data(-value) {
		if {$item != $button} {
		    lappend newValue $item
		}
	    }
	}
    } else {
	# This button was not selected
	#
	if {[tixGetBoolean $data(-radio)]} {
	    # The button become the sole item in the list
	    #
	    set newValue [list $button]
	} else {
	    # Add this button into the list
	    #
	    lappend newValue $button
	}
    }

    if {$newValue != $data(-value)} {
	tixSelect:SetValue $w $newValue
    }
}

#----------------------------------------------------------------------
#                Private functions
#----------------------------------------------------------------------
proc tixSelect:SetValue {w newValue {noUpdate 0}} {
    upvar #0 $w data

    set oldValue $data(-value)

    if {$data(-validatecmd) != ""} {
       set data(-value) [tixEvalCmdBinding $w $data(-validatecmd) "" $newValue]
    } else {
	if {[tixGetBoolean $data(-radio)] && [llength $newValue] > 1} {
	    error "cannot choose more than one items in a radio box"
	}

	if {![tixGetBoolean $data(-allowzero)] && [llength $newValue] == 0} {
	    error "empty selection not allowed"
	}

	set data(-value) $newValue
    }

    if {! $noUpdate} {
	tixVariable:UpdateVariable $w
    }

    # Reset all to be unselected
    #
    foreach item $data(items) {
	if {[lsearch $data(-value) $item] == -1} {
	    # Is unselected
	    #
	    if {[lsearch $oldValue $item] != -1} {
		# was selected
		# -> popup the button, call command
		#
		$data(w:$item) config -relief raised -bg $data(buttonbg)
		tixSelect:CallCommand $w $item 0
	    }
	} else {
	    # Is selected
	    #
	    if {[lsearch $oldValue $item] == -1} {
		# was unselected
		# -> push down the button, call command
		#
		$data(w:$item) config -relief sunken -bg $data(-selectedbg)
		tixSelect:CallCommand $w  $item 1
	    }
	}
    }
}

proc tixSelect:CallCommand {w name value} {
    upvar #0 $w data

    if {!$data(-disablecallback) && $data(-command) != ""} {
	if {![info exists data(varInited)]} {
	    set bind(specs) "name value"
	    set bind(name)  $name
	    set bind(value) $value
	    tixEvalCmdBinding $w $data(-command) bind $name $value
	}
    }
}

proc tixSelect:Destructor {w} {

    tixVariable:DeleteVariable $w

    # Chain this to the superclass
    #
    tixChainMethod $w Destructor
}
PKqm�[�b�GGTix8.4.3/Tree.tclnu�[���# -*- mode: TCL; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*-
#
#	$Id: Tree.tcl,v 1.7 2004/04/09 21:39:12 hobbs Exp $
#
# Tree.tcl --
#
#	This file implements the TixTree widget.
#
# Copyright (c) 1993-1999 Ioi Kim Lam.
# Copyright (c) 2000-2001 Tix Project Group.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#


tixWidgetClass tixTree {
    -classname TixTree
    -superclass tixVTree
    -method {
	autosetmode close getmode open setmode

	addchild anchor column delete entrycget
	entryconfigure header hide indicator info
	item nearest see selection show
    }
    -flag {
	-browsecmd -command -opencmd -closecmd
    }
    -configspec {
	{-browsecmd browseCmd BrowseCmd ""}
	{-command command Command ""}
	{-closecmd closeCmd CloseCmd ""}
	{-opencmd openCmd OpenCmd ""}
    }
    -default {
	{.scrollbar			auto}
	{*Scrollbar.takeFocus           0}
	{*borderWidth                   1}
	{*hlist.background              #c3c3c3}
	{*hlist.drawBranch              1}
	{*hlist.height                  10}
	{*hlist.highlightBackground      #d9d9d9}
	{*hlist.indicator               1}
	{*hlist.indent                  20}
	{*hlist.itemType                imagetext}
	{*hlist.padX                    2}
	{*hlist.padY                    2}
	{*hlist.relief                  sunken}
	{*hlist.takeFocus               1}
	{*hlist.wideSelection           0}
	{*hlist.width                   20}
    }
}

proc tixTree:InitWidgetRec {w} {
    upvar #0 $w data

    tixChainMethod $w InitWidgetRec
}

proc tixTree:ConstructWidget {w} {
    upvar #0 $w data

    tixChainMethod $w ConstructWidget
}

proc tixTree:SetBindings {w} {
    upvar #0 $w data

    tixChainMethod $w SetBindings
}

#----------------------------------------------------------------------
#
#			Widget commands
#
#----------------------------------------------------------------------
proc tixTree:autosetmode {w} {
    tixTree:SetModes $w ""
}

proc tixTree:close {w ent} {
    upvar #0 $w data

    set type [tixVTree:GetType $w $ent]
    if {$type == "close"} {
	tixCallMethod $w Activate $ent $type
    }
}

proc tixTree:open {w ent} {
    upvar #0 $w data

    set type [tixVTree:GetType $w $ent]
    if {$type == "open"} {
	tixCallMethod $w Activate $ent $type
    }
}

proc tixTree:getmode {w ent} {
    tixVTree:GetType $w $ent
}

proc tixTree:setmode {w ent mode} {
    tixVTree:SetMode $w $ent $mode
}

foreach cmd {
    addchild anchor column delete entrycget
    entryconfigure header hide indicator info
    item nearest see selection show
} {
    proc tixTree:$cmd {w args} {
	# These are hlist passthrough methods to work around
	# Tix' ignorant inheritance model.
	upvar #0 $w data
	set cmd [lindex [split [lindex [info level 0] 0] :] end]
	uplevel 1 [linsert $args 0 $data(w:hlist) $cmd]
    }
}
unset cmd

#----------------------------------------------------------------------
#
#			Private Methods
#
#----------------------------------------------------------------------
proc tixTree:SetModes {w ent} {
    upvar #0 $w data
   
    set mode none

    if {$ent == ""} {
	set children [$data(w:hlist) info children]
    } else {
	set children [$data(w:hlist) info children $ent]
    }
 
    if {$children != ""} {
	set mode close

	foreach c $children {
	    if {[$data(w:hlist) info hidden $c]} {
		set mode open
	    }
	    tixTree:SetModes $w $c
	}
    }
    
    if {$ent != ""} {
	tixVTree:SetMode $w $ent $mode
    }
}
#----------------------------------------------------------------------
#
#			Virtual Methods
#
#----------------------------------------------------------------------
proc tixTree:OpenCmd {w ent} {
    upvar #0 $w data

    if {$data(-opencmd) != ""} {
	tixTree:CallSwitchCmd $w $data(-opencmd) $ent
    } else {
	tixChainMethod $w OpenCmd $ent

    }
}

proc tixTree:CloseCmd {w ent} {
    upvar #0 $w data

    if {$data(-closecmd) != ""} {
	tixTree:CallSwitchCmd $w $data(-closecmd) $ent
    } else {
	tixChainMethod $w CloseCmd $ent
    }
}

# Call the opencmd or closecmd, depending on the mode ($cmd argument)
#
proc tixTree:CallSwitchCmd {w cmd ent} {
    upvar #0 $w data

    set bind(specs) {%V}
    set bind(%V)    $ent

    tixEvalCmdBinding $w $cmd bind $ent
}

proc tixTree:Command {w B} {
    upvar #0 $w data
    upvar $B bind

    tixChainMethod $w Command $B

    set ent [tixEvent flag V]
    if {$data(-command) != ""} {
	tixEvalCmdBinding $w $data(-command) bind $ent
    }
}

proc tixTree:BrowseCmd {w B} {
    upvar #0 $w data

    set ent [tixEvent flag V]
    if {$data(-browsecmd) != ""} {
	tixEvalCmdBinding $w $data(-browsecmd) "" $ent
    }
}
PKqm�[��'4zzTix8.4.3/pkgIndex.tclnu�[���if {[catch {package require Tcl 8.4}]} return
package ifneeded Tix 8.4.3 \
    [list load [file join $dir libTix.so] Tix]
PKqm�[/�{���Tix8.4.3/SHList.tclnu�[���# -*- mode: TCL; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*-
#
#	$Id: SHList.tcl,v 1.7 2004/04/09 21:37:33 hobbs Exp $
#
# SHList.tcl --
#
#	This file implements Scrolled HList widgets
#
# Copyright (c) 1993-1999 Ioi Kim Lam.
# Copyright (c) 2000-2001 Tix Project Group.
# Copyright (c) 2004 ActiveState
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#

tixWidgetClass tixScrolledHList {
    -classname TixScrolledHList
    -superclass tixScrolledWidget
    -method {
    }
    -flag {
	 -highlightbackground -highlightcolor -highlightthickness
    }
    -configspec {
	{-highlightbackground -highlightBackground HighlightBackground #d9d9d9}
	{-highlightcolor -highlightColor HighlightColor black}
	{-highlightthickness -highlightThickness HighlightThickness 2}
    }
    -default {
	{.scrollbar			auto}
	{*f1.borderWidth		1}
	{*hlist.Background		#c3c3c3}
	{*hlist.highlightBackground	#d9d9d9}
	{*hlist.relief			sunken}
	{*hlist.takeFocus		1}
	{*Scrollbar.takeFocus		0}
    }
    -forcecall {
	-highlightbackground -highlightcolor -highlightthickness
    }
}

proc tixScrolledHList:ConstructWidget {w} {
    upvar #0 $w data

    tixChainMethod $w ConstructWidget

    set data(pw:f1) [frame $w.f1 -takefocus 0]
    set data(w:hlist) \
	[tixHList $w.f1.hlist -bd 0 -takefocus 1 -highlightthickness 0]

    pack $data(w:hlist) -in $data(pw:f1) -expand yes -fill both -padx 0 -pady 0

    set data(w:hsb) [scrollbar $w.hsb -orient horizontal -takefocus 0]
    set data(w:vsb) [scrollbar $w.vsb -orient vertical -takefocus 0]

    set data(pw:client) $data(pw:f1)
}

proc tixScrolledHList:SetBindings {w} {
    upvar #0 $w data

    tixChainMethod $w SetBindings

    $data(w:hlist) config \
	-xscrollcommand [list $data(w:hsb) set] \
	-yscrollcommand [list $data(w:vsb) set] \
	-sizecmd [list tixScrolledWidget:Configure $w]

    $data(w:hsb) config -command [list $data(w:hlist) xview]
    $data(w:vsb) config -command [list $data(w:hlist) yview]

}

#----------------------------------------------------------------------
#
#		option configs
#----------------------------------------------------------------------
proc tixScrolledHList:config-takefocus {w value} {
    upvar #0 $w data
    $data(w:hlist) config -takefocus $value
}

proc tixScrolledHList:config-highlightbackground {w value} {
    upvar #0 $w data
    $data(pw:f1) config -highlightbackground $value
}

proc tixScrolledHList:config-highlightcolor {w value} {
    upvar #0 $w data
    $data(pw:f1) config -highlightcolor $value
}

proc tixScrolledHList:config-highlightthickness {w value} {
    upvar #0 $w data
    $data(pw:f1) config -highlightthickness $value
}


#----------------------------------------------------------------------
#
#		Widget commands
#----------------------------------------------------------------------

#----------------------------------------------------------------------
#
#		Private Methods
#----------------------------------------------------------------------
# virtual
#
proc tixScrolledHList:RepackHook {w} {
    upvar #0 $w data

    tixChainMethod $w RepackHook
}
#----------------------------------------------------------------------
# virtual functions to query the client window's scroll requirement
#----------------------------------------------------------------------
proc tixScrolledHList:GeometryInfo {w mW mH} {
    upvar #0 $w data

    if {[winfo class $w.f1] eq "Frame"} {
	set extra [expr {[$w.f1 cget -bd]+[$w.f1 cget -highlightthickness]}]
    } else {
	set extra 0
    }

    set mW [expr {$mW - $extra*2}]
    set mH [expr {$mH - $extra*2}]

    if {$mW < 1} {
	set mW 1
    }
    if {$mH < 1} {
	set mH 1
    }

    return [$data(w:hlist) geometryinfo $mW $mH]
}
PKqm�[w_���n�nTix8.4.3/PanedWin.tclnu�[���# -*- mode: TCL; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*-
#
#	$Id: PanedWin.tcl,v 1.7 2004/03/28 02:44:57 hobbs Exp $
#
# PanedWin.tcl --
#
#	This file implements the TixPanedWindow widget
#
# Copyright (c) 1993-1999 Ioi Kim Lam.
# Copyright (c) 2000-2001 Tix Project Group.
# Copyright (c) 2004 ActiveState
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#


tixWidgetClass tixPanedWindow {
    -classname TixPanedWindow
    -superclass tixPrimitive
    -method {
	add delete forget manage panecget paneconfigure panes setsize
    }
    -flag {
	-command -dynamicgeometry -handleactivebg -handlebg -orient
	-orientation -panebd -paneborderwidth -panerelief
	-separatoractivebg -separatorbg
    }
    -static {
	-orientation
    }
    -configspec {
	{-command command Command ""}
	{-dynamicgeometry dynamicGeometry DynamicGeometry 1 tixVerifyBoolean}
	{-handleactivebg handleActiveBg HandleActiveBg #ececec}
	{-handlebg handleBg Background #d9d9d9}
	{-orientation orientation Orientation vertical}
	{-paneborderwidth paneBorderWidth PaneBorderWidth 1}
	{-panerelief paneRelief PaneRelief raised}
	{-separatoractivebg separatorActiveBg SeparatorActiveBg red}
	{-separatorbg separatorBg Background #d9d9d9}
    }
    -alias {
	{-panebd -paneborderwidth}
	{-orient -orientation}
    }
}

#----------------------------------------------------------------------
# ClassInitialization:
#----------------------------------------------------------------------

proc tixPanedWindow:InitWidgetRec {w} {
    upvar #0 $w data

    tixChainMethod $w InitWidgetRec

    set data(items)       ""
    set data(nItems)      0
    set data(totalsize)   0
    set data(movePending) 0

    set data(repack)      0
    set data(counter)     0

    set data(maxReqW)     1
    set data(maxReqH)     1
}

proc tixPanedWindow:ConstructWidget {w} {
    upvar #0 $w data

    tixChainMethod $w ConstructWidget
    # Do nothing
}

proc tixPanedWindow:SetBindings {w} {
    upvar #0 $w data

    tixChainMethod $w SetBindings

    bind $w <Configure> [list tixPanedWindow:MasterGeomProc $w ""]
}

#----------------------------------------------------------------------
# ConfigOptions:
#----------------------------------------------------------------------
proc tixPanedWindow:config-handlebg {w arg} {
    upvar #0 $w data

    for {set i 1} {$i < $data(nItems)} {incr i} {
	$data(btn,$i) config -bg $arg
    }
}

#----------------------------------------------------------------------
# PublicMethods:
#----------------------------------------------------------------------


# method: add
#
#    Adds a new pane into the PanedWindow.
#
# options -size -max -min -allowresize
#
proc tixPanedWindow:add {w name args} {
    upvar #0 $w data

    if {[winfo exists $w.$name] && !$data($name,forgotten)} {
	error "Pane $name is already managed"
    }
    # Step 1: Parse the options to get the children's size options

    # The default values
    #
    if {[info exists data($name,forgotten)]} {
	set option(-size)        $data($name,size)
	set option(-min)         $data($name,min)
	set option(-max)         $data($name,max)
	set option(-allowresize) $data($name,allowresize)
	set option(-expand)      $data($name,expand)
    } else {
	set option(-size)        0
	set option(-min)         0
	set option(-max)         100000
	set option(-allowresize) 1
	set option(-expand)      0
    }

    set option(-before)      ""
    set option(-after)       ""
    set option(-at)          ""
    set validOpts {-after -allowresize -at -before -expand -max -min -size}

    tixHandleOptions option $validOpts $args

    set data($name,size)        $option(-size)
    set data($name,rsize)       $option(-size)
    set data($name,min)         $option(-min)
    set data($name,max)         $option(-max)
    set data($name,allowresize) $option(-allowresize)
    set data($name,expand)      $option(-expand)
    set data($name,forgotten)   0

    if {$data($name,expand) < 0} {
	set data($name,expand) 0
    }

    # Step 2: Add the frame and the separator (if necessary)
    #
    if {![winfo exist $w.$name]} {
	# need to check because the frame may have been "forget'ten"
	#
	frame $w.$name -bd $data(-paneborderwidth) -relief $data(-panerelief)
    }

    if {$option(-at) != ""} {
	set at [tixGetInt $option(-at)]
	if {$at < 0} {
	    set at 0
	}
    } elseif {$option(-after) != ""} {
	set index [lsearch -exact $data(items) $option(-after)]
	if {$index == -1} {
	    error "Pane $option(-after) doesn't exists"
	} else {
	    set at [incr index]
	}
    } elseif {$option(-before) != ""} {
	set index [lsearch -exact $data(items) $option(-before)]
	if {$index == -1} {
	    error "Pane $option(-before) doesn't exists"
	}
	set at $index
    } else {
	set at end
    }

    set data(items) [linsert $data(items) $at $name]    
    incr data(nItems)

    if {$data(nItems) > 1} {
	tixPanedWindow:AddSeparator $w
    }
    set data(w:$name) $w.$name

    # Step 3: Add the new frame. Adjust the window later (do when idle)
    #
    tixManageGeometry $w.$name [list tixPanedWindow:ClientGeomProc $w]
    bind $w.$name <Configure> \
	[list tixPanedWindow:ClientGeomProc $w "" $w.$name]

    tixPanedWindow:RepackWhenIdle $w

    return $w.$name
}

proc tixPanedWindow:manage {w name args} {
    upvar #0 $w data

    if {![winfo exists $w.$name]} {
	error "Pane $name does not exist"
    }
    if {!$data($name,forgotten)} {
	error "Pane $name is already managed"
    }
    tixMapWindow $data(w:$name)
    eval tixPanedWindow:add $w [list $name] $args
}

proc tixPanedWindow:forget {w name} {
    upvar #0 $w data

    if {![winfo exists $w.$name]} {
	error "Pane $name does not exist"
    }
    if $data($name,forgotten) {
	# It has already been forgotten
	#
	return
    }

    set items ""
    foreach item $data(items) {
	if {$item != $name} {
	    lappend items $item
	}
    }
    set data(items) $items
    incr data(nItems) -1

    set i $data(nItems)
    if {$i > 0} {
	destroy $data(btn,$i)
	destroy $data(sep,$i)
	unset data(btn,$i)
	unset data(sep,$i)
    }
    set data($name,forgotten) 1

    tixUnmapWindow $w.$name

    tixPanedWindow:RepackWhenIdle $w
}

proc tixPanedWindow:delete {w name} {
    upvar #0 $w data

    if {![winfo exists $w.$name]} {
	error "Pane $name does not exist"
    }


    if {!$data($name,forgotten)} {
	set items ""
	foreach item $data(items) {
	    if {$item != $name} {
		lappend items $item
	    }
	}
	set data(items) $items
	incr data(nItems) -1

	set i $data(nItems)
	if {$i > 0} {
	    destroy $data(btn,$i)
	    destroy $data(sep,$i)
	    unset data(btn,$i)
	    unset data(sep,$i)
	}
    }
    unset data($name,allowresize)
    unset data($name,expand)
    unset data($name,forgotten)
    unset data($name,max)
    unset data($name,min)
    unset data($name,rsize)
    unset data($name,size)
    unset data(w:$name)
    destroy $w.$name

    tixPanedWindow:RepackWhenIdle $w
}

proc tixPanedWindow:paneconfigure {w name args} {
    upvar #0 $w data

    if {![info exists data($name,size)]} {
	error "pane \"$name\" does not exist in $w"
    }

    set len [llength $args]

    if {$len == 0} {
	set value [$data(w:$name) configure]
	lappend value [list -allowresize "" "" "" $data($name,allowresize)]
	lappend value [list -expand "" "" "" $data($name,expand)]
	lappend value [list -max "" "" "" $data($name,max)]
	lappend value [list -min "" "" "" $data($name,min)]
	lappend value [list -size "" "" "" $data($name,size)]
	return $value
    }

    if {$len == 1} {
	case [lindex $args 0] {
	    -allowresize {
		return [list -allowresize "" "" "" $data($name,allowresize)]
	    }
	    -expand {
		return [list -expand "" "" "" $data($name,expand)]
	    }
	    -min {
		return [list -min "" "" "" $data($name,min)]
	    }
	    -max {
		return [list -max "" "" "" $data($name,max)]
	    }
	    -size {
		return [list -size "" "" "" $data($name,size)]
	    }
	    default {
		return [$data(w:$name) configure [lindex $args 0]]
	    }
	}
    }

    # By default handle each of the options
    #
    set option(-allowresize) $data($name,allowresize)
    set option(-expand)      $data($name,expand)
    set option(-min)         $data($name,min)
    set option(-max)         $data($name,max)
    set option(-size)        $data($name,size)

    tixHandleOptions -nounknown option {-allowresize -expand -max -min -size} \
	$args

    #
    # the widget options
    set new_args ""
    foreach {flag value} $args {
	case $flag {
	    {-expand -min -max -allowresize -size} {

	    }
	    default {
		lappend new_args $flag
		lappend new_args $value
	    }
	}
    }

    if {[llength $new_args] >= 2} {
	eval $data(w:$name) configure $new_args
    }

    #
    # The add-on options
    set data($name,allowresize) $option(-allowresize)
    set data($name,expand)      $option(-expand)
    set data($name,max)         $option(-max)
    set data($name,min)         $option(-min)
    set data($name,rsize)       $option(-size)
    set data($name,size)        $option(-size)

    # 
    # Integrity check
    if {$data($name,expand) < 0} {
	set data($name,expand) 0
    }
    if {$data($name,size) < $data($name,min)} {
	set data($name,size) $data($name,min)
    }
    if {$data($name,size) > $data($name,max)} {
	set data($name,size) $data($name,max)
    }

    tixPanedWindow:RepackWhenIdle $w
    return ""
}

proc tixPanedWindow:panecget {w name option} {
    upvar #0 $w data

    if {![info exists data($name,size)]} {
	error "pane \"$name\" does not exist in $w"
    }

    case $option {
	{-min -max -allowresize -size} {
	    regsub \\\- $option "" option
	    return "$data($name,$option)"
	}
	default {
	    return [$data(w:$name) cget $option]
	}
    }
}

# return the name of all panes
proc tixPanedWindow:panes {w} {
    upvar #0 $w data

    return $data(items)
}

# set the size of a pane, specifying which direction it should
# grow/shrink
proc tixPanedWindow:setsize {w item size {direction next}} {
    upvar #0 $w data

    set posn [lsearch $data(items) $item]
    if {$posn == -1} {
	error "pane \"$item\" does not exist"
    }

    set diff [expr {$size - $data($item,size)}]
    if {$diff == 0} {
	return
    }

    if {$posn == 0 && $direction eq "prev"} {
	set direction next
    }
    if {$posn == $data(nItems)-1 && $direction eq "next"} {
	set direction prev
    }

    if {$data(-orientation) eq "vertical"} {
        set rx [winfo rooty $data(w:$item)]
    } else {
        set rx [winfo rootx $data(w:$item)]
    }
    if {$direction eq "prev"} {
	set rx [expr {$rx - $diff}]
    } elseif {$data(-orientation) eq "vertical"} {
	set rx [expr {$rx + [winfo height $data(w:$item)] + $diff}]
	incr posn
    } else {
	set rx [expr {$rx + [winfo width $data(w:$item)] + $diff}]
	incr posn
    }

    # Set up the panedwin in a proper state
    #
    tixPanedWindow:BtnDown $w $posn 1
    tixPanedWindow:BtnMove $w $posn $rx 1
    tixPanedWindow:BtnUp $w $posn 1

    return $data(items)
}

#----------------------------------------------------------------------
# PrivateMethods:
#----------------------------------------------------------------------

proc tixPanedWindow:AddSeparator {w} {
    global tcl_platform

    upvar #0 $w data

    set n [expr {$data(nItems)-1}]

    # CYGNUS: On Windows, use relief ridge and a thicker line.
    if {$tcl_platform(platform) eq "windows"} then {
      set relief "ridge"
      set thickness 4
    } else {
      set relief "sunken"
      set thickness 2
    }
    if {$data(-orientation) eq "vertical"} {
	set data(sep,$n) [frame $w.sep$n -relief $relief \
	    -bd 1 -height $thickness -width 10000 -bg $data(-separatorbg)]
    } else {
	set data(sep,$n) [frame $w.sep$n -relief $relief \
	    -bd 1 -width $thickness -height 10000 -bg $data(-separatorbg)]
    }

    set data(btn,$n) [frame $w.btn$n -relief raised \
	-bd 1 -width 9 -height 9 \
	-bg $data(-handlebg)]

    if {$data(-orientation) eq "vertical"} {
	set cursor sb_v_double_arrow
    } else {
	set cursor sb_h_double_arrow
    }
    $data(sep,$n) config -cursor $cursor
    $data(btn,$n) config -cursor $cursor

    foreach wid [list $data(btn,$n) $data(sep,$n)] {
	bind $wid \
	    <ButtonPress-1>   [list tixPanedWindow:BtnDown $w $n]
	bind $wid \
	    <ButtonRelease-1> [list tixPanedWindow:BtnUp   $w $n]
	bind $wid \
	    <Any-Enter>       [list tixPanedWindow:HighlightBtn $w $n]
	bind $wid \
	    <Any-Leave>       [list tixPanedWindow:DeHighlightBtn $w $n]
    }

    if {$data(-orientation) eq "vertical"} {
	bind  $data(btn,$n) <B1-Motion> [list tixPanedWindow:BtnMove $w $n %Y]
    } else {
	bind  $data(btn,$n) <B1-Motion> [list tixPanedWindow:BtnMove $w $n %X]
    }

    if {$data(-orientation) eq "vertical"} {
#	place $data(btn,$n) -relx 0.90 -y [expr "$data(totalsize)-5"]
#	place $data(sep,$n) -x 0 -y [expr "$data(totalsize)-1"] -relwidth 1
    } else {
#	place $data(btn,$n) -rely 0.90 -x [expr "$data(totalsize)-5"]
#	place $data(sep,$n) -y 0 -x [expr "$data(totalsize)-1"] -relheight 1
    }
}

proc tixPanedWindow:BtnDown {w item {fake 0}} {
    upvar #0 $w data

    if {$data(-orientation) eq "vertical"} {
	set spec -height
    } else {
	set spec -width
    }

    if {!$fake} {
	for {set i 1} {$i < $data(nItems)} {incr i} {
	    $data(sep,$i) config -bg $data(-separatoractivebg) $spec 1
	}
	update idletasks
	$data(btn,$item) config -relief sunken
    }

    tixPanedWindow:GetMotionLimit $w $item $fake

    if {!$fake} {
	grab -global $data(btn,$item)
    }
    set data(movePending) 0
}

proc tixPanedWindow:Min2 {a b} {
    if {$a < $b} {
	return $a
    } else {
	return $b
    }
}

proc tixPanedWindow:GetMotionLimit {w item fake} {
    upvar #0 $w data

    set curBefore 0
    set minBefore 0
    set maxBefore 0

    for {set i 0} {$i < $item} {incr i} {
	set name [lindex $data(items) $i]
	incr curBefore $data($name,size)
	incr minBefore $data($name,min)
	incr maxBefore $data($name,max)
    }

    set curAfter 0
    set minAfter 0
    set maxAfter 0
    while {$i < $data(nItems)} {
	set name [lindex $data(items) $i]
	incr curAfter $data($name,size)
	incr minAfter $data($name,min)
	incr maxAfter $data($name,max)
	incr i
    }

    set beforeToGo [tixPanedWindow:Min2 \
			[expr {$curBefore-$minBefore}] \
			[expr {$maxAfter-$curAfter}]]

    set afterToGo [tixPanedWindow:Min2 \
		       [expr {$curAfter-$minAfter}] \
		       [expr {$maxBefore-$curBefore}]]

    set data(beforeLimit) [expr {$curBefore-$beforeToGo}]
    set data(afterLimit)  [expr {$curBefore+$afterToGo}]
    set data(curSize)     $curBefore

    if {!$fake} {
	tixPanedWindow:PlotHandles $w 1
    }
}

# Compress the motion so that update is quick even on slow machines
#
# rootp = root position (either rootx or rooty)
proc tixPanedWindow:BtnMove {w item rootp {fake 0}} {
    upvar #0 $w data

    set data(rootp) $rootp

    if {$fake} {
	tixPanedWindow:BtnMoveCompressed $w $item $fake
    } else {
	if {$data(movePending) == 0} {
	    after 2 tixPanedWindow:BtnMoveCompressed $w $item
	    set data(movePending) 1
	}
    } 
}

proc tixPanedWindow:BtnMoveCompressed {w item {fake 0}} {
    if {![winfo exists $w]} {
	return
    }

    upvar #0 $w data

    if {$data(-orientation) eq "vertical"} {
	set p [expr {$data(rootp)-[winfo rooty $w]}]
    } else {
	set p [expr {$data(rootp)-[winfo rootx $w]}]
    }

    if {$p == $data(curSize)} {
	set data(movePending) 0
	return
    }

    if {$p < $data(beforeLimit)} {
	set p $data(beforeLimit)
    }
    if {$p >= $data(afterLimit)} {
	set p $data(afterLimit)
    }
    tixPanedWindow:CalculateChange $w $item $p $fake

    if {!$fake} {
	# Force the redraw to happen
	#
	update idletasks
    }
    set data(movePending) 0
}

# Calculate the change in response to mouse motions
#
proc tixPanedWindow:CalculateChange {w item p {fake 0}} {
    upvar #0 $w data

    if {$p < $data(curSize)} {
	tixPanedWindow:MoveBefore $w $item $p
    } elseif {$p > $data(curSize)} {
	tixPanedWindow:MoveAfter $w $item $p
    }

    if {!$fake} {
	tixPanedWindow:PlotHandles $w 1
    }
}

proc tixPanedWindow:MoveBefore {w item p} {
    upvar #0 $w data

    set n [expr {$data(curSize)-$p}]

    # Shrink the frames before
    #
    set from [expr {$item-1}]
    set to   0
    tixPanedWindow:Iterate $w $from $to tixPanedWindow:Shrink $n

    # Adjust the frames after
    #
    set from $item
    set to   [expr {$data(nItems)-1}]
    tixPanedWindow:Iterate $w $from $to tixPanedWindow:Grow $n

    set data(curSize) $p
}

proc tixPanedWindow:MoveAfter {w item p} {
    upvar #0 $w data

    set n    [expr {$p-$data(curSize)}]

    # Shrink the frames after
    #
    set from $item
    set to   [expr {$data(nItems)-1}]
    tixPanedWindow:Iterate $w $from $to tixPanedWindow:Shrink $n

    # Graw the frame before
    #
    set from [expr {$item-1}]
    set to   0
    tixPanedWindow:Iterate $w $from $to tixPanedWindow:Grow $n

    set data(curSize) $p
}

proc tixPanedWindow:CancleLines {w} {
    upvar #0 $w data

    if {[info exists data(lines)]} {
	foreach line $data(lines) {
	    set x1 [lindex $line 0]
	    set y1 [lindex $line 1]
	    set x2 [lindex $line 2]
	    set y2 [lindex $line 3]

	    tixTmpLine $x1 $y1 $x2 $y2 $w
	}

	catch {unset data(lines)}
    }
}

proc tixPanedWindow:PlotHandles {w transient} {
    global tcl_platform

    upvar #0 $w data

    set totalsize 0
    set i 0

    if {$data(-orientation) eq "vertical"} {
	set btnp [expr {[winfo width $w]-13}]
    } else {
	set h [winfo height $w]
	if {$h > 18} {
	    set btnp 9
	} else {
	    set btnp [expr {$h-9}]
	}
    }

    set firstpane [lindex $data(items) 0]
    set totalsize $data($firstpane,size)

    if {$transient} {
	tixPanedWindow:CancleLines $w
	set data(lines) ""
    }

    for {set i 1} {$i < $data(nItems)} {incr i} {
	if {! $transient} {
	    if {$data(-orientation) eq "vertical"} {
		place $data(btn,$i) -x $btnp -y [expr {$totalsize-4}]
		place $data(sep,$i) -x 0 -y [expr {$totalsize-1}] -relwidth 1
	    } else {
		place $data(btn,$i) -y $btnp -x [expr {$totalsize-5}]
		place $data(sep,$i) -y 0 -x [expr {$totalsize-1}] -relheight 1
	    }
	} else {
	    if {$data(-orientation) eq "vertical"} {
		set x1 [winfo rootx $w]
		set x2 [expr {$x1 + [winfo width $w]}]
		set y  [expr {$totalsize-1+[winfo rooty $w]}]

		tixTmpLine $x1 $y $x2 $y $w
		lappend data(lines) [list $x1 $y $x2 $y]
	    } else {
		set y1 [winfo rooty $w]
		set y2 [expr {$y1 + [winfo height $w]}]
		set x  [expr {$totalsize-1+[winfo rootx $w]}]

		tixTmpLine $x $y1 $x $y2 $w
		lappend data(lines) [list $x $y1 $x $y2]
	    }
	}

	set name [lindex $data(items) $i]
	incr totalsize $data($name,size)
    }
}

proc tixPanedWindow:BtnUp {w item {fake 0}} {
    upvar #0 $w data

    if {!$fake} {
	tixPanedWindow:CancleLines $w
    }

    tixPanedWindow:UpdateSizes $w

    if {!$fake} {
	$data(btn,$item) config -relief raised
	grab release $data(btn,$item)
    }
}


proc tixPanedWindow:HighlightBtn {w item} {
    upvar #0 $w data

    $data(btn,$item) config -background $data(-handleactivebg)
}

proc tixPanedWindow:DeHighlightBtn {w item} {
    upvar #0 $w data

    $data(btn,$item) config -background $data(-handlebg)
}

#----------------------------------------------------------------------
#
#
# Geometry management routines
#
#
#----------------------------------------------------------------------

# update the sizes of each pane according to the data($name,size) variables
#
proc tixPanedWindow:UpdateSizes {w} {
    global tcl_platform

    upvar #0 $w data

    set data(totalsize) 0

    set mw [winfo width  $w]
    set mh [winfo height $w]

    for {set i 0} {$i < $data(nItems)} {incr i} {
	set name [lindex $data(items) $i]

	if {$data($name,size) > 0} {
	    if {$data(-orientation) eq "vertical"} {
		tixMoveResizeWindow $w.$name 0 $data(totalsize) \
		    $mw $data($name,size)
		tixMapWindow $w.$name
		raise $w.$name
	    } else {
		tixMoveResizeWindow $w.$name $data(totalsize) 0 \
		    $data($name,size) $mh
		tixMapWindow $w.$name
		raise $w.$name
	    }
	} else {
	    tixUnmapWindow $w.$name
	}
	incr data(totalsize) $data($name,size)
    }

    # Reset the color and width of the separator
    #
    if {$data(-orientation) eq "vertical"} {
	set spec -height
    } else {
	set spec -width
    }

    # CYGNUS: On Windows, use a thicker line.
    if {$tcl_platform(platform) eq "windows"} then {
	set thickness 4
    } else {
	set thickness 2
    }

    for {set i 1} {$i < $data(nItems)} {incr i} {
	$data(sep,$i) config -bg $data(-separatorbg) $spec $thickness
	raise $data(sep,$i)
	raise $data(btn,$i)
    }


    # Invoke the callback command
    #
    if {$data(-command) != ""} {
	set sizes ""
	foreach item $data(items) {
	    lappend sizes $data($item,size)
	}
	set bind(specs) ""
	tixEvalCmdBinding $w $data(-command) bind [list $sizes]
    }
}

proc tixPanedWindow:GetNaturalSizes {w} {
    upvar #0 $w data

    set data(totalsize) 0
    set totalreq 0

    if {$data(-orientation) eq "vertical"} {
	set majorspec height
	set minorspec width
    } else {
	set majorspec width
	set minorspec height
    }

    set minorsize 0
    foreach name $data(items) {
	if {[winfo manager $w.$name] ne "tixGeometry"} {
	    error "Geometry management error: pane \"$w.$name\" cannot be managed by \"[winfo manager $w.$name]\"\nhint: delete the line \"[winfo manager $w.$name] $w.$name ...\" from your program"
	}

	# set the minor size
	#
	set req_minor [winfo req$minorspec $w.$name]

	if {$req_minor > $minorsize} {
	    set minorsize $req_minor
	}

	# Check the natural size against the max, min requirements.
	# Change the natural size if necessary
	#
	if {$data($name,size) <= 1} {
	    set data($name,size) [winfo req$majorspec $w.$name]
	}

	if {$data($name,size) > 1} {
	    # If we get zero maybe the widget was not initialized yet ...
	    #
	    # %% hazard : what if the window is really 1x1?
	    #
	    if {$data($name,size) < $data($name,min)} {
		set data($name,size) $data($name,min)
	    }
	    if {$data($name,size) > $data($name,max)} {
		set data($name,size) $data($name,max)
	    }
	}

	# kludge: because a frame always returns req size of {1,1} before
	# the packer processes it, we do the following to mark the
	# pane as "size unknown"
	#
#	if {$data($name,size) == 1 && ![winfo ismapped $w.$name]} {
#	    set data($name,size) 0
#	}

	# Add up the total size
	#
	incr data(totalsize) $data($name,size)

	# Find out the request size
	#
	if {$data($name,rsize) == 0} {
	    set rsize [winfo req$majorspec $w.$name]
	} else {
	    set rsize $data($name,rsize)
	}

	if {$rsize < $data($name,min)} {
	    set rsize $data($name,min)
	}
	if {$rsize > $data($name,max)} {
	    set rsize $data($name,max)
	}

	incr totalreq $rsize
    }

    if {$data(-orientation) eq "vertical"} {
	return [list $minorsize $totalreq]
    } else {
	return [list $totalreq $minorsize]
    }
}

#--------------------------------------------------
# Handling resize
#--------------------------------------------------
proc tixPanedWindow:ClientGeomProc {w type client} {
    tixPanedWindow:RepackWhenIdle $w
}

#
# This monitor the sizes of the master window
#
proc tixPanedWindow:MasterGeomProc {w master} {
    tixPanedWindow:RepackWhenIdle $w
}

proc tixPanedWindow:RepackWhenIdle {w} {
    if {![winfo exist $w]} {
	return
    }
    upvar #0 $w data

    if {$data(repack) == 0} {
	tixWidgetDoWhenIdle tixPanedWindow:Repack $w
	set data(repack) 1
    }
}

#
# This monitor the sizes of the master window
#
proc tixPanedWindow:Repack {w} {
    upvar #0 $w data

    # Calculate the desired size of the master
    #
    set dim [tixPanedWindow:GetNaturalSizes $w]

    if {$data(-width) != 0} {
	set mreqw $data(-width)
    } else {
	set mreqw [lindex $dim 0]
    }

    if {$data(-height) != 0} {
	set mreqh $data(-height)
    } else {
	set mreqh [lindex $dim 1]
    }

    if !$data(-dynamicgeometry) {
	if {$mreqw < $data(maxReqW)} {
	    set mreqw $data(maxReqW)
	}
	if {$mreqh < $data(maxReqH)} {
	    set mreqh $data(maxReqH)
	}
	set data(maxReqW) $mreqw
	set data(maxReqH) $mreqh
    }
    if {$mreqw != [winfo reqwidth $w] || $mreqh != [winfo reqheight $w] } {
	if {![info exists data(counter)]} {
	    set data(counter) 0
	}
	if {$data(counter) < 50} {
	    incr data(counter)
	    tixGeometryRequest $w $mreqw $mreqh
	    tixWidgetDoWhenIdle tixPanedWindow:Repack $w
	    set data(repack) 1
	    return
	}
    }

    set data(counter) 0

    if {$data(nItems) == 0} {
	set data(repack) 0
	return
    }

    tixWidgetDoWhenIdle tixPanedWindow:DoRepack $w
}

proc tixPanedWindow:DoRepack {w} {
    upvar #0 $w data

    if {$data(-orientation) eq "vertical"} {
	set newSize [winfo height $w]
    } else {
	set newSize [winfo width $w]
    }

    if {$newSize <= 1} {
	# Probably this window is too small to see anyway
	# %%Kludge: I don't know if this always work.
	#
	set data(repack) 0
	return
    }

    set totalExp 0
    foreach name $data(items) {
	set totalExp [expr {$totalExp + $data($name,expand)}]
    }

    if {$newSize > $data(totalsize)} {
	# Grow
	#
	set toGrow [expr {$newSize-$data(totalsize)}]

	set p [llength $data(items)]
	foreach name $data(items) {
	    set toGrow [tixPanedWindow:xGrow $w $name $toGrow $totalExp $p]
	    if {$toGrow > 0} {
		set totalExp [expr {$totalExp-$data($name,expand)}]
		incr p -1
	    } else {
		break
	    }
	}
    } else {
	# Shrink
	#
	set toShrink [expr {$data(totalsize)-$newSize}]

	set usedSize 0
	foreach name $data(items) {
	    set toShrink [tixPanedWindow:xShrink $w $name $toShrink \
		$totalExp $newSize $usedSize]
	    if {$toShrink > 0} {
		set totalExp [expr {$totalExp-$data($name,expand)}]
		incr usedSize $data($name,size)
	    } else {
		break
	    }
	}
    }

    tixPanedWindow:UpdateSizes $w
    tixPanedWindow:PlotHandles $w 0

    set data(repack) 0
}

#--------------------------------------------------
# Shrink and grow items
#--------------------------------------------------
# 
#   toGrow: how much free area to grow into
#        p: == 1 if $name is the last in the list of items
# totalExp: used to calculate the amount of the free area that this
#	    window can grow into
#
proc tixPanedWindow:xGrow {w name toGrow totalExp p} {
    upvar #0 $w data

    if {$p == 1} {
	set canGrow $toGrow
    } else {
	if {$totalExp == 0} {
	    set canGrow 0
	} else {
	    set canGrow [expr {int($toGrow * $data($name,expand) / $totalExp)}]
	}
    }

    if {($canGrow + $data($name,size)) > $data($name,max)} {
	set canGrow [expr {$data($name,max) - $data($name,size)}]
    }

    incr data($name,size) $canGrow
    incr toGrow -$canGrow

    return $toGrow
}

proc tixPanedWindow:xShrink {w name toShrink totalExp newSize usedSize} {
    upvar #0 $w data

    if {$totalExp == 0} {
	set canShrink 0
    } else {
	set canShrink [expr {int($toShrink * $data($name,expand) / $totalExp)}]
    }

    if {$data($name,size) - $canShrink < $data($name,min)} {
	set canShrink [expr {$data($name,size) - $data($name,min)}]
    }
    if {$usedSize + $data($name,size) - $canShrink > $newSize} {
	set data($name,size) [expr {$newSize - $usedSize}]
	return 0
    } else {
	incr data($name,size) -$canShrink
	incr toShrink -$canShrink

	return $toShrink
    }
}

#--------------------------------------------------
# Shrink and grow items
#--------------------------------------------------
proc tixPanedWindow:Shrink {w name n} {
    upvar #0 $w data

    set canShrink [expr {$data($name,size) - $data($name,min)}]

    if {$canShrink > $n} {
	incr data($name,size) -$n
	return 0
    } elseif {$canShrink > 0} {
	set data($name,size) $data($name,min)
	incr n -$canShrink
    }
    return $n
}

proc tixPanedWindow:Grow {w name n} {
    upvar #0 $w data

    set canGrow [expr {$data($name,max) - $data($name,size)}]

    if {$canGrow > $n} {
	incr data($name,size) $n
	return 0
    } elseif {$canGrow > 0} {
	set data($name,size) $data($name,max)
	incr n -$canGrow
    }

    return $n
}

proc tixPanedWindow:Iterate {w from to proc n} {
    upvar #0 $w data

    if {$from <= $to} {
	for {set i $from} {$i <= $to} {incr i} {
	    set n [$proc $w [lindex $data(items) $i] $n]
	    if {$n == 0} {
		break
	    }
	}
    } else {
	for {set i $from} {$i >= $to} {incr i -1} {
	    set n [$proc $w [lindex $data(items) $i] $n]
	    if {$n == 0} {
		break
	    }
	}
    }
}
PKqm�[M�5::Tix8.4.3/VTree.tclnu�[���# -*- mode: TCL; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*-
#
#	$Id: VTree.tcl,v 1.6 2004/03/28 02:44:57 hobbs Exp $
#
# VTree.tcl --
#
#	Virtual base class for Tree widgets.
#
#
# Copyright (c) 1993-1999 Ioi Kim Lam.
# Copyright (c) 2000-2001 Tix Project Group.
# Copyright (c) 2004 ActiveState
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#

tixWidgetClass tixVTree {
    -virtual true
    -classname TixVTree
    -superclass tixScrolledHList
    -method {
    }
    -flag {
	-ignoreinvoke
    }
    -configspec {
	{-ignoreinvoke ignoreInvoke IgnoreInvoke false tixVerifyBoolean}
    }
    -default {
    }
}

proc tixVTree:InitWidgetRec {w} {
    upvar #0 $w data

    tixChainMethod $w InitWidgetRec
}

proc tixVTree:ConstructWidget {w} {
    upvar #0 $w data

    tixChainMethod $w ConstructWidget

    set data(indStyle) \
	[tixDisplayStyle image -refwindow $data(w:hlist) -padx 0 -pady 0]
}

proc tixVTree:SetBindings {w} {
    upvar #0 $w data

    tixChainMethod $w SetBindings

    $data(w:hlist) config \
	-indicatorcmd [list tixVTree:IndicatorCmd $w] \
	-browsecmd [list tixVTree:BrowseCmdHook $w] \
	-command [list tixVTree:CommandHook $w]
}

proc tixVTree:IndicatorCmd {w args} {
    upvar #0 $w data

    set event [tixEvent type]
    set ent   [tixEvent flag V]

    set type     [tixVTree:GetType $w $ent]
    set plus	 [tix getimage plus]
    set plusarm	 [tix getimage plusarm]
    set minus	 [tix getimage minus]
    set minusarm [tix getimage minusarm]

    if {![$data(w:hlist) info exists $ent]} {return}
    switch -exact -- $event {
	<Arm> {
	    if {![$data(w:hlist) indicator exists $ent]} {return}
	    $data(w:hlist) indicator config $ent \
		-image [expr {$type eq "open" ? $plusarm : $minusarm}]
	}
	<Disarm> {
	    if {![$data(w:hlist) indicator exists $ent]} {return}
	    $data(w:hlist) indicator config $ent \
		-image [expr {$type eq "open" ? $plus : $minus}]
	}
	<Activate> {
	    upvar bind bind
	    tixCallMethod $w Activate $ent $type
	    set bind(%V) $ent
	    tixVTree:BrowseCmdHook $w
	}
    }
}

proc tixVTree:GetType {w ent} {
    upvar #0 $w data

    if {![$data(w:hlist) indicator exists $ent]} {
	return none
    }

    set img [$data(w:hlist) indicator cget $ent -image]
    if {$img eq [tix getimage plus] || $img eq [tix getimage plusarm]} {
	return open
    }
    return close
}

proc tixVTree:Activate {w ent type} {
    upvar #0 $w data

    if {$type eq "open"} {
	tixCallMethod $w OpenCmd $ent
	$data(w:hlist) indicator config $ent -image [tix getimage minus]
    } else {
	tixCallMethod $w CloseCmd $ent
	$data(w:hlist) indicator config $ent -image [tix getimage plus]
    }
}

proc tixVTree:CommandHook {w args} {
    upvar #0 $w data
    upvar bind bind

    tixCallMethod $w Command bind
}

proc tixVTree:BrowseCmdHook {w args} {
    upvar #0 $w data
    upvar bind bind

    tixCallMethod $w BrowseCmd bind
}

proc tixVTree:SetMode {w ent mode} {
    upvar #0 $w data

    switch -exact -- $mode {
	open {
	    $data(w:hlist) indicator create $ent -itemtype image \
		-image [tix getimage plus]  -style $data(indStyle)
	}
	close {
	    $data(w:hlist) indicator create $ent -itemtype image \
		-image [tix getimage minus] -style $data(indStyle)
	}
	none {
	    if {[$data(w:hlist) indicator exist $ent]} {
		$data(w:hlist) indicator delete $ent 
	    }
	}
    }
}

#----------------------------------------------------------------------
#
#			Virtual Methods
#
#----------------------------------------------------------------------
proc tixVTree:OpenCmd {w ent} {
    upvar #0 $w data

    # The default action
    foreach kid [$data(w:hlist) info children $ent] {
	$data(w:hlist) show entry $kid
    }
}

proc tixVTree:CloseCmd {w ent} {
    upvar #0 $w data

    # The default action
    foreach kid [$data(w:hlist) info children $ent] {
	$data(w:hlist) hide entry $kid
    }
}

proc tixVTree:Command {w B} {
    upvar #0 $w data
    upvar $B bind

    if {$data(-ignoreinvoke)} {
	return
    }
    set ent [tixEvent flag V]
    if {[$data(w:hlist) indicator exist $ent]} {
	tixVTree:Activate $w $ent [tixVTree:GetType $w $ent]
    }
}

proc tixVTree:BrowseCmd {w B} {
}
#----------------------------------------------------------------------
#
#			Widget commands
#
#----------------------------------------------------------------------
PKqm�[-��F�FTix8.4.3/HList.tclnu�[���# -*- mode: TCL; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*-
#
#	$Id: HList.tcl,v 1.6 2004/03/28 02:44:57 hobbs Exp $
#
# HList.tcl --
#
#	This file defines the default bindings for Tix Hierarchical Listbox
#	widgets.
#
# Copyright (c) 1993-1999 Ioi Kim Lam.
# Copyright (c) 2000-2001 Tix Project Group.
# Copyright (c) 2004 ActiveState
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#

global tkPriv
if {![llength [info globals tkPriv]]} {
    tk::unsupported::ExposePrivateVariable tkPriv
}
#--------------------------------------------------------------------------
# tkPriv elements used in this file:
#
# afterId -		Token returned by "after" for autoscanning.
# fakeRelease -		Cancel the ButtonRelease-1 after the user double click
#--------------------------------------------------------------------------
#
foreach fun {tkCancelRepeat} {
    if {![llength [info commands $fun]]} {
	tk::unsupported::ExposePrivateCommand $fun
    }
}
unset fun

proc tixHListBind {} {
    tixBind TixHList <ButtonPress-1> {
	tixHList:Button-1 %W %x %y ""
    }
    tixBind TixHList <Shift-ButtonPress-1> {
	tixHList:Button-1 %W %x %y s
    }
    tixBind TixHList <Control-ButtonPress-1> {
	tixHList:Button-1 %W %x %y c
    }
    tixBind TixHList <ButtonRelease-1> {
	tixHList:ButtonRelease-1 %W %x %y
    }
    tixBind TixHList <Double-ButtonPress-1> {
	tixHList:Double-1 %W  %x %y
    }
    tixBind TixHList <B1-Motion> {
	set tkPriv(x) %x
	set tkPriv(y) %y
	set tkPriv(X) %X
	set tkPriv(Y) %Y

	tixHList:B1-Motion %W %x %y
    }
    tixBind TixHList <B1-Leave> {
	set tkPriv(x) %x
	set tkPriv(y) %y
	set tkPriv(X) %X
	set tkPriv(Y) %Y

	tixHList:B1-Leave %W
    }
    tixBind TixHList <B1-Enter> {
	tixHList:B1-Enter %W %x %y
    }

    # Keyboard bindings
    #
    tixBind TixHList <Up> {
	tixHList:UpDown %W prev ""
    }
    tixBind TixHList <Down> {
	tixHList:UpDown %W next ""
    }
    tixBind TixHList <Shift-Up> {
	tixHList:UpDown %W prev s
    }
    tixBind TixHList <Shift-Down> {
	tixHList:UpDown %W next s
    }
    tixBind TixHList <Left> {
	tixHList:LeftRight %W left
    }
    tixBind TixHList <Right> {
	tixHList:LeftRight %W right
    }
    tixBind TixHList <Prior> {
	%W yview scroll -1 pages
    }
    tixBind TixHList <Next> {
	%W yview scroll 1 pages
    }
    tixBind TixHList <Return> {
	tixHList:Keyboard-Activate %W 
    }
    tixBind TixHList <space> {
	tixHList:Keyboard-Browse %W 
    }

    # Under Windows <Home> moves up, clears the sel and sets the selection
    # Under Windows <Control-Home> moves up, leaves the selection, and sets the anchor
    tixBind TixHList <Home> {
	set w %W
	$w yview moveto 0; # $w xview moveto 0
	set sel [lindex [$w info children] 0]
	# should be first not disabled
	$w anchor set $sel
	tixHList:Keyboard-Browse $w
    }
    tixBind TixHList <End>  {
	set w %W
	$w yview moveto 1; #	$w xview moveto 0
	$w select clear
	# should be last not disabled
	set sel [lindex [$w info children .] end]
	while {[set next [$w info next $sel]] ne "" && \
		![$w info hidden $next] && \
		[llength [set kids [$w info child $sel]]]} {
	    set sel [lindex $kids end]
	}
	$w anchor set $sel
	tixHList:Keyboard-Browse $w
    }
    tixBind TixHList <Control-Home> {
	set w %W
	$w yview moveto 0; # $w xview moveto 0
	set sel [lindex [$w info children] 0]
	# should be first not disabled
	$w anchor set $sel
    }
    tixBind TixHList <Control-End>  {
	set w %W
	$w yview moveto 1; #	$w xview moveto 0
	# should be last not disabled
	set sel [lindex [$w info children .] end]
	while {[set next [$w info next $sel]] ne "" && \
		![$w info hidden $next] && \
		[llength [set kids [$w info child $sel]]]} {
	    set sel [lindex $kids end]
	}
	$w anchor set $sel
    }
    #
    # Don't use tixBind because %A causes Tk 8.3.2 to crash
    #
    bind TixHList <MouseWheel> {
        %W yview scroll [expr {- (%D / 120) * 2}] units
    }

}

#----------------------------------------------------------------------
#
#
#			 Key bindings
#
#
#----------------------------------------------------------------------
proc tixHList:Keyboard-Activate {w} {
    if {[tixHList:GetState $w] != 0} {
	return
    }
    set ent [$w info anchor]

    if {$ent eq ""} {
	return
    }

    if {[$w cget -selectmode] eq "single"} {
	$w select clear
    }
    $w select set $ent

    set command [$w cget -command]
    if {$command ne ""} {
	set bind(specs) {%V}
	set bind(%V)    $ent

	tixEvalCmdBinding $w $command bind $ent
    }
}

proc tixHList:Keyboard-Browse {w} {
    if {[tixHList:GetState $w] != 0} {
	return
    }
    set ent [$w info anchor]

    if {$ent eq ""} {
	return
    }

    if {[$w cget -selectmode] eq "single"} {
	$w select clear
    }
    $w select set $ent

    tixHList:Browse $w $ent
}

proc tixHList:LeftRight {w spec} {
    catch {
	uplevel #0 unset $w:priv:shiftanchor
    }
    if {[tixHList:GetState $w] != 0} {
	return
    }

    set anchor [$w info anchor]
    if {$anchor eq ""} {
	set anchor [lindex [$w info children] 0]
    }
    if {$anchor eq ""} {
	return
    }

    set ent $anchor
    while {1} {
	set e $ent
	if {$spec eq "left"} {
	    set ent [$w info parent $e]

	    if {$ent eq "" || [$w entrycget $ent -state] eq "disabled"} {
		set ent [$w info prev $e]
	    }
	} else {
	    set ent [lindex [$w info children $e] 0]

	    if {$ent eq "" || [$w entrycget $ent -state] eq "disabled"} {
		set ent [$w info next $e]
	    }
	}

	if {$ent eq ""} {
	    break
	}
 	if {[$w entrycget $ent -state] eq "disabled"} {
	    continue
	}
 	if {[$w info hidden $ent]} {
	    continue
	}
	break
    }

    if {$ent eq ""} {
       return
    }

    $w anchor set $ent
    $w see $ent

    if {[$w cget -selectmode] ne "single"} {
	$w select clear
	$w selection set $ent

	tixHList:Browse $w $ent
    }
}

proc tixHList:UpDown {w spec mod} {
    if {[tixHList:GetState $w] ne 0} {
	return
    }
    set anchor [$w info anchor]
    set done 0

    if {$anchor eq ""} {
	set anchor [lindex [$w info children] 0]

	if {$anchor eq ""} {
	    return
	}

	if {[$w entrycget $anchor -state] ne "disabled"} {
	    # That's a good anchor
	    set done 1
	} else {
	    # We search for the first non-disabled entry (downward)
	    set spec next
	}
    }

    set ent $anchor
    # mike - bulletproofing
    if {![$w info exists $ent]} {return}
    # Find the prev/next non-disabled entry
    #
    while {!$done} {
	set ent [$w info $spec $ent]
	if {$ent eq ""} {
	    break
	}
	if {[$w entrycget $ent -state] eq "disabled"} {
	    continue
	}
	if {[$w info hidden $ent]} {
	    continue
	}
	break
    }

    if {$ent eq ""} {
	return
    } else {
	$w see $ent
	$w anchor set $ent

	set selMode [$w cget -selectmode]
	if {$mod eq "s" && ($selMode eq "extended" || $selMode eq "multiple")} {
	    global $w:priv:shiftanchor

	   if {![info exists $w:priv:shiftanchor]} {
		set $w:priv:shiftanchor $anchor
	    }

	    $w selection clear
	    # mike - bulletproofing
	    if {![catch {$w selection set $ent [set $w:priv:shiftanchor]}]} {
		tixHList:Browse $w $ent
	    }
	} else {
	    catch {
		uplevel #0 unset $w:priv:shiftanchor
	    }

	    if {[$w cget -selectmode] ne "single"} {
		$w select clear
		$w selection set $ent

		tixHList:Browse $w $ent
	    }
	}
    }
}

#----------------------------------------------------------------------
#
#
#			 Mouse bindings
#
#
#----------------------------------------------------------------------

proc tixHList:Button-1 {w x y mod} {
#    if {[$w cget -state] eq "disabled"} {
#	return
#    }

    if {[$w cget -takefocus]} {
	focus $w
    }

    set selMode [$w cget -selectmode]

    case [tixHList:GetState $w] {
	{0} {
	    if {$mod eq "s" && $selMode eq "multiple"} {
		tixHList:GoState 28 $w $x $y
		return
	    }
	    if {$mod eq "s" && $selMode eq "extended"} {
		tixHList:GoState 28 $w $x $y
		return
	    }
	    if {$mod eq "c" && $selMode eq "extended"} {
		tixHList:GoState 33 $w $x $y
		return
	    }

	    tixHList:GoState 1 $w $x $y
	}
    }
}

proc tixHList:ButtonRelease-1 {w x y} {
    case [tixHList:GetState $w] {
	{5 16} {
	    tixHList:GoState 6 $w $x $y
	}
	{15} {
	    tixHList:GoState 17 $w $x $y
	}
	{10 11} {
	    tixHList:GoState 18 $w
	}
	{13 20} {
	    tixHList:GoState 14 $w $x $y
	}
	{21} {
	    tixHList:GoState 22 $w
	}
	{24} {
	    tixHList:GoState 25 $w
	}
	{26 28 33} {
	    tixHList:GoState 27 $w
	}
	{30} {
	    tixHList:GoState 32 $w
	}
    }
}

proc tixHList:Double-1 {w x y} {
    case [tixHList:GetState $w] {
	{0} {
	    tixHList:GoState 23 $w $x $y
	}
    }
}

proc tixHList:B1-Motion {w x y} {
    case [tixHList:GetState $w] {
	{1} {
	    tixHList:GoState 5 $w $x $y 
	}
	{5 16} {
	    tixHList:GoState 5 $w $x $y 
	}
	{13 20 21} {
	    tixHList:GoState 20 $w $x $y 
	}
	{24 26 28} {
	    tixHList:GoState 26 $w $x $y
	}
    }
}

proc tixHList:B1-Leave {w} {
    case [tixHList:GetState $w] {
	{5} {
	    tixHList:GoState 10 $w
	}
	{26} {
	    tixHList:GoState 29 $w
	}
    }
}

proc tixHList:B1-Enter {w x y} {
    case [tixHList:GetState $w] {
	{10 11} {
	    tixHList:GoState 12 $w $x $y
	}
	{29 30} {
	    tixHList:GoState 31 $w $x $y
	}
    }
}

proc tixHList:AutoScan {w} {
    case [tixHList:GetState $w] {
	{29 30} {
	    tixHList:GoState 30 $w
	}
    }
}

#----------------------------------------------------------------------
#
#			STATE MANIPULATION
#
#
#----------------------------------------------------------------------
proc tixHList:GetState {w} {
    global $w:priv:state

    if {![info exists $w:priv:state]} {
	set $w:priv:state 0
    }
    return [set $w:priv:state]
}

proc tixHList:SetState {w n} {
    global $w:priv:state

    set $w:priv:state $n
}

proc tixHList:GoState {n w args} {

#   puts "going from [tixHList:GetState $w] --> $n"

    tixHList:SetState $w $n
    eval tixHList:GoState-$n $w $args
}

#----------------------------------------------------------------------
#			States
#----------------------------------------------------------------------
proc tixHList:GoState-0 {w} {

}
proc tixHList:GoState-1 {w x y} {
    set oldEnt [$w info anchor]
    set ent [tixHList:SetAnchor $w $x $y 1]

    if {$ent eq ""} {
	tixHList:GoState 0 $w
	return
    }

    set info [$w info item $x $y]
    if {[lindex $info 1] eq "indicator"} {
	tixHList:GoState 13 $w $ent $oldEnt
    } else {
	if {[$w entrycget $ent -state] eq "disabled"} {
	    tixHList:GoState 0 $w
	} else {
	    case [$w cget -selectmode] {
		{single browse} {
		    tixHList:GoState 16 $w $ent
		}
		default {
		    tixHList:GoState 24 $w $ent
		}
	    }
	}
    }
}

proc tixHList:GoState-5 {w x y} {
    set oldEnt [$w info anchor]

    set ent [tixHList:SetAnchor $w $x $y]

    if {$ent eq "" || $oldEnt eq $ent} {
	return
    }

    if {[$w cget -selectmode] ne "single"} {
	tixHList:Select $w $ent
	tixHList:Browse $w $ent
    }
}

proc tixHList:GoState-6 {w x y} {
    set ent [tixHList:SetAnchor $w $x $y]

    if {$ent eq ""} {
	tixHList:GoState 0 $w
	return
    }
    tixHList:Select $w $ent
    tixHList:Browse $w $ent

    tixHList:GoState 0 $w
}

proc tixHList:GoState-10 {w} {
    tixHList:StartScan $w
}

proc tixHList:GoState-11 {w} {
    global tkPriv

    tixHList:DoScan $w

    set oldEnt [$w info anchor]
    set ent [tixHList:SetAnchor $w $tkPriv(x) $tkPriv(y)]

    if {$ent eq "" || $oldEnt eq $ent} {
	return
    }

    if {[$w cget -selectmode] ne "single"} {
	tixHList:Select $w $ent
	tixHList:Browse $w $ent
    }
}

proc tixHList:GoState-12 {w x y} {
    tkCancelRepeat
    tixHList:GoState 5 $w $x $y 
}

proc tixHList:GoState-13 {w ent oldEnt} {
    global tkPriv
    set tkPriv(tix,indicator) $ent
    set tkPriv(tix,oldEnt)    $oldEnt
    tixHList:CallIndicatorCmd $w <Arm> $ent
}

proc tixHList:GoState-14 {w x y} {
    global tkPriv

    if {[tixHList:InsideArmedIndicator $w $x $y]} {
	$w anchor set $tkPriv(tix,indicator)
	$w select clear
	$w select set $tkPriv(tix,indicator)
	tixHList:CallIndicatorCmd $w <Activate> $tkPriv(tix,indicator)
    } else {
	tixHList:CallIndicatorCmd $w <Disarm>   $tkPriv(tix,indicator)
    }

    unset tkPriv(tix,indicator)
    tixHList:GoState 0 $w
}

proc tixHList:GoState-16 {w ent} {
    if {$ent ne "" && [$w cget -selectmode] ne "single"} {
	tixHList:Select $w $ent
	tixHList:Browse $w $ent
    }
}

proc tixHList:GoState-18 {w} {
    global tkPriv
    tkCancelRepeat
    tixHList:GoState 6 $w $tkPriv(x) $tkPriv(y) 
}

proc tixHList:GoState-20 {w x y} {
    global tkPriv

    if {![tixHList:InsideArmedIndicator $w $x $y]} {
	tixHList:GoState 21 $w $x $y
    } else {
	tixHList:CallIndicatorCmd $w <Arm> $tkPriv(tix,indicator)
    }
}

proc tixHList:GoState-21 {w x y} {
    global tkPriv

    if {[tixHList:InsideArmedIndicator $w $x $y]} {
	tixHList:GoState 20 $w $x $y
    } else {
	tixHList:CallIndicatorCmd $w <Disarm> $tkPriv(tix,indicator)
    }
}

proc tixHList:GoState-22 {w} {
    global tkPriv

    if {$tkPriv(tix,oldEnt) ne ""} {
	$w anchor set $tkPriv(tix,oldEnt)
    } else {
	$w anchor clear
    }
    tixHList:GoState 0 $w
}

proc tixHList:GoState-23 {w x y} {
    set ent [tixHList:GetNearest $w $y]

    if {$ent ne ""} {
	set info [$w info item $x $y]

	if {[lindex $info 1] eq "indicator"} {
	    tixHList:CallIndicatorCmd $w <Activate> $ent
	} else {
	    $w select set $ent
	    set command [$w cget -command]
	    if {$command ne ""} {
		set bind(specs) {%V}
		set bind(%V)    $ent

		tixEvalCmdBinding $w $command bind $ent
	    }
	}
    }
    tixHList:GoState 0 $w
}

proc tixHList:GoState-24 {w ent} {
    if {$ent ne ""} {
	tixHList:Select $w $ent
	tixHList:Browse $w $ent
    }
}

proc tixHList:GoState-25 {w} {
    set ent [$w info anchor]

    if {$ent ne ""} {
	tixHList:Select $w $ent
	tixHList:Browse $w $ent
    }

    tixHList:GoState 0 $w
}


proc tixHList:GoState-26 {w x y} {
    set anchor [$w info anchor]
    if {$anchor eq ""} {
	set first [lindex [$w info children ""] 0]
	if {$first ne ""} {
	    $w anchor set $first
	    set anchor $first
	} else {
	    return
	}
    }

    set ent [tixHList:GetNearest $w $y 1]

    if {$ent ne ""} {
	$w selection clear
	$w selection set $anchor $ent

	tixHList:Browse $w $ent
    }
}

proc tixHList:GoState-27 {w} {
    set ent [$w info anchor]

    if {$ent ne ""} {
	tixHList:Browse $w $ent
    }

    tixHList:GoState 0 $w
}

proc tixHList:GoState-28 {w x y} {
    set anchor [$w info anchor]
    if {$anchor eq ""} {
	set first [lindex [$w info children ""] 0]
	if {$first ne ""} {
	    $w anchor set $first
	    set anchor $first
	} else {
	    return
	}
    }

    set ent [tixHList:GetNearest $w $y 1]
    if {$ent ne ""} {
	$w selection clear
	$w selection set $anchor $ent

	tixHList:Browse $w $ent
    }
}

proc tixHList:GoState-29 {w} {
    tixHList:StartScan $w
}

proc tixHList:GoState-30 {w} {
    global tkPriv

    tixHList:DoScan $w

    set anchor [$w info anchor]
    if {$anchor eq ""} {
	set first [lindex [$w info children ""] 0]
	if {$first ne ""} {
	    $w anchor set $first
	    set anchor $first
	} else {
	    return
	}
    }

    set ent [tixHList:GetNearest $w $tkPriv(y) 1]
    if {$ent ne ""} {
	$w selection clear
	$w selection set $anchor $ent

	tixHList:Browse $w $ent
    }
}

proc tixHList:GoState-31 {w x y} {
    tkCancelRepeat
    tixHList:GoState 26 $w $x $y 
}

proc tixHList:GoState-32 {w} {
    tkCancelRepeat
    tixHList:GoState 0 $w
}

proc tixHList:GoState-33 {w x y} {
    set ent [tixHList:GetNearest $w $y]
    if {$ent ne ""} {
	$w anchor set $ent
	if {[lsearch [$w selection get] $ent] > -1} {
	    # This was missing - mike
	    $w selection clear $ent
	} else {
	    $w selection set $ent
	}
	tixHList:Browse $w $ent
    }
}



#----------------------------------------------------------------------
#
#		Common actions
#
#----------------------------------------------------------------------
proc tixHList:GetNearest {w y {disableOK 0}} {
    set ent [$w nearest $y]

    if {$ent ne ""} {
	if {!$disableOK && [$w entrycget $ent -state] eq "disabled"} {
	    return ""
	}
    }

    return $ent
}

proc tixHList:SetAnchor {w x y {disableOK 0}} {
    set ent [tixHList:GetNearest $w $y $disableOK]

    if {$ent ne ""} {
	if {[$w entrycget $ent -state] ne "disabled"} {
	    $w anchor set $ent
	    # mike This is non-standard and has a wierd effect: too much motion
	    # $w see $ent
	    return $ent
	} elseif $disableOK {
	    return $ent
	}
    }

    return ""
}

proc tixHList:Select {w ent} {
    if {[$w info selection] ne $ent} {
	$w selection clear
	$w select set $ent
    }
}

#----------------------------------------------------------------------
#
#		       Auto scan
#
#----------------------------------------------------------------------
proc tixHList:StartScan {w} {
    global tkPriv
    set tkPriv(afterId) [after 50 tixHList:AutoScan $w]
}

proc tixHList:DoScan {w} {
    global tkPriv
    set x $tkPriv(x)
    set y $tkPriv(y)
    set X $tkPriv(X)
    set Y $tkPriv(Y)

    if {$y >= [winfo height $w]} {
	$w yview scroll 1 units
    } elseif {$y < 0} {
	$w yview scroll -1 units
    } elseif {$x >= [winfo width $w]} {
	$w xview scroll 2 units
    } elseif {$x < 0} {
	$w xview scroll -2 units
    } else {
	return
    }

    set tkPriv(afterId) [after 50 tixHList:AutoScan $w]
}


#----------------------------------------------------------------------
#
#		Indicator handling
#
#----------------------------------------------------------------------

proc tixHList:CallIndicatorCmd {w event ent} {
    set cmd [$w cget -indicatorcmd]

    if {$cmd ne ""} {
	set bind(type)  $event
	set bind(specs) {%V}
	set bind(%V)    $ent

	tixEvalCmdBinding $w $cmd bind $ent
    }
}

proc tixHList:InsideArmedIndicator {w x y} {
    global tkPriv

    set ent [tixHList:GetNearest $w $y 1]
    if {$ent eq "" || $ent ne $tkPriv(tix,indicator)} {
	return 0
    }

    set info [$w info item $x $y]
    if {[lindex $info 1] eq "indicator"} {
	return 1
    } else {
	return 0
    }
}

proc tixHList:Browse {w ent} {
    set browsecmd [$w cget -browsecmd]
    if {$browsecmd ne ""} {
	set bind(specs) {%V}
	set bind(%V)    $ent

	tixEvalCmdBinding $w $browsecmd bind $ent
    }
}


PKqm�[`��[Tix8.4.3/NoteBook.tclnu�[���# -*- mode: TCL; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*-
#
#	$Id: NoteBook.tcl,v 1.7 2004/03/28 02:44:57 hobbs Exp $
#
# NoteBook.tcl --
#
#	tixNoteBook: NoteBook type of window.
#
# Copyright (c) 1993-1999 Ioi Kim Lam.
# Copyright (c) 2000-2001 Tix Project Group.
# Copyright (c) 2004 ActiveState
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#

tixWidgetClass tixNoteBook {
    -classname TixNoteBook
    -superclass tixVStack
    -method {
    }
    -flag {
    }
    -configspec {
	{-takefocus takeFocus TakeFocus 0 tixVerifyBoolean}
    }
    -default {
	{.nbframe.tabPadX	8}
	{.nbframe.tabPadY	5}
	{.nbframe.borderWidth	2}
	{*nbframe.relief	raised}
    }
}

proc tixNoteBook:InitWidgetRec {w} {
    upvar #0 $w data

    tixChainMethod $w InitWidgetRec

    set data(pad-x1) 0
    set data(pad-x2) 0
    set data(pad-y1) 20
    set data(pad-y2) 0
}

proc tixNoteBook:ConstructWidget {w} {
    upvar #0 $w data

    tixChainMethod $w ConstructWidget

    set data(w:top) [tixNoteBookFrame $w.nbframe -slave 1 -takefocus 1]
    set data(w:nbframe) $data(w:top)

    bind $data(w:top) <ButtonPress-1> [list tixNoteBook:MouseDown $w %x %y]
    bind $data(w:top) <ButtonRelease-1> [list tixNoteBook:MouseUp $w %x %y]

    bind $data(w:top) <B1-Motion> [list tixNoteBook:MouseDown $w %x %y]

    bind $data(w:top) <Left>  [list tixNoteBook:FocusNext $w prev]
    bind $data(w:top) <Right> [list tixNoteBook:FocusNext $w next]

    bind $data(w:top) <Return> [list tixNoteBook:SetFocusByKey $w]
    bind $data(w:top) <space>  [list tixNoteBook:SetFocusByKey $w]
}

#----------------------------------------------------------------------
# Public methods
#----------------------------------------------------------------------
proc tixNoteBook:add {w child args} {
    upvar #0 $w data

    set ret [eval tixChainMethod $w add $child $args]

    set new_args ""
    foreach {flag value} $args {
	if {$flag ne "-createcmd" && $flag ne "-raisecmd"} {
	    lappend new_args $flag
	    lappend new_args $value
	}
    }

    eval [linsert $new_args 0 $data(w:top) add $child]

    return $ret
}

proc tixNoteBook:raise {w child} {
    upvar #0 $w data

    tixChainMethod $w raise $child

    if {[$data(w:top) pagecget $child -state] eq "normal"} {
	$data(w:top) activate $child
    }
}

proc tixNoteBook:delete {w child} {
    upvar #0 $w data

    tixChainMethod $w delete $child
    $data(w:top) delete $child
}

#----------------------------------------------------------------------
# Private methods
#----------------------------------------------------------------------
proc tixNoteBook:Resize {w} {
    upvar #0 $w data

    # We have to take care of the size of the tabs so that 
    #
    set rootReq [$data(w:top) geometryinfo]
    set tW [lindex $rootReq 0]
    set tH [lindex $rootReq 1]

    set data(pad-x1) 2
    set data(pad-x2) 2
    set data(pad-y1) [expr {$tH + $data(-ipadx) + 1}]
    set data(pad-y2) 2
    set data(minW)   [expr {$tW}]
    set data(minH)   [expr {$tH}]

    # Now that we know data(pad-y1), we can chain the call
    #
    tixChainMethod $w Resize
}

proc tixNoteBook:MouseDown {w x y} {
    upvar #0 $w data

    focus $data(w:top)

    set name [$data(w:top) identify $x $y]
    $data(w:top) focus $name
    set data(w:down) $name
}

proc tixNoteBook:MouseUp {w x y} {
    upvar #0 $w data

    #it could happen (using the tk/menu) that a MouseUp
    #proceeds without a MouseDown event!!
    if {![info exists data(w:down)] || ![info exists data(w:top)]} {
	return
    }

    set name [$data(w:top) identify $x $y]

    if {$name ne "" && $name eq $data(w:down)
	&& [$data(w:top) pagecget $name -state] eq "normal"} {
        $data(w:top) activate $name
        tixCallMethod $w raise $name
    } else {
        $data(w:top) focus ""
    }
}


#----------------------------------------------------------------------
#
# Section for keyboard bindings
#
#----------------------------------------------------------------------

proc tixNoteBook:FocusNext {w dir} {
    upvar #0 $w data

    if {[$data(w:top) info focus] == ""} {
	set name [$data(w:top) info active]
	$data(w:top) focus $name

	if {$name ne ""} {
	    return
	}
    } else {
	set name [$data(w:top) info focus$dir]
 	$data(w:top) focus $name
   }
}

proc tixNoteBook:SetFocusByKey {w} {
    upvar #0 $w data

    set name [$data(w:top) info focus]

    if {$name ne "" && [$data(w:top) pagecget $name -state] eq "normal"} {
	tixCallMethod $w raise $name
	$data(w:top) activate $name
    }
}

#----------------------------------------------------------------------
# Automatic bindings for alt keys
#----------------------------------------------------------------------
proc tixNoteBookFind {w char} {
    set char [string tolower $char]

    foreach child [winfo child $w] {
	if {![winfo ismapped $w]} {
	    continue
	}
	switch -exact -- [winfo class $child] {
	    Toplevel    { continue }
	    TixNoteBook {
		set nbframe [$child subwidget nbframe]
		foreach page [$nbframe info pages] {
		    set char2 [string index [$nbframe pagecget $page -label] \
				   [$nbframe pagecget $page -underline]]
		    if {($char eq [string tolower $char2] || $char eq "")
			&& [$nbframe pagecget $page -state] ne "disabled"} {
			return [list $child $page]
		    }
		}
	    }
	}
	# Well, this notebook doesn't match with the key, but maybe
	# it contains a "subnotebook" that will match ..
	set match [tixNoteBookFind $child $char]
	if {$match ne ""} {
	    return $match
	}
    }
    return ""
}

proc tixTraverseToNoteBook {w char} {
    if {$char eq ""} {
	return 0
    }
    if {![winfo exists $w]} {
	return 0
    }
    set list [tixNoteBookFind [winfo toplevel $w] $char]
    if {$list ne ""} {
	[lindex $list 0] raise [lindex $list 1]
	return 1
    }
    return 0
}

#----------------------------------------------------------------------
# Set default class bindings
#----------------------------------------------------------------------

bind all <Alt-KeyPress> "+tixTraverseToNoteBook %W %A"
bind all <Meta-KeyPress> "+tixTraverseToNoteBook %W %A"

PKqm�[�v���Tix8.4.3/DtlList.tclnu�[���# -*- mode: TCL; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*-
#
#	$Id: DtlList.tcl,v 1.2 2001/12/09 05:04:02 idiscovery Exp $
#
# DtlList.tcl --
#
#	This file implements DetailList widgets
#
# Copyright (c) 1993-1999 Ioi Kim Lam.
# Copyright (c) 2000-2001 Tix Project Group.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#

tixWidgetClass tixDetailList {
    -classname TixDetailList
    -superclass tixScrolledGrid
    -method {
    }
    -flag {
	-hdrbackground
    }
    -configspec {
	{-hdrbackground hdrBackground HdrBackground #606060}
    }
    -alias {
	{-hdrbg -hdrbackground}
    }
    -default {
	{*grid.topMargin		1}
	{*grid.leftMargin		0}
    }
}


proc tixDetailList:FormatCmd {w area x1 y1 x2 y2} {
    upvar #0 $w data

    case $area {
	main {
	}
	default {
	    $data(w:grid) format border $x1 $y1 $x2 $y2 \
		-filled 1 \
		-relief raised -bd 1 -bg $data(-hdrbackground)
	}
    }
}
PKqm�[HEN�||Tix8.4.3/PopMenu.tclnu�[���# -*- mode: TCL; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*-
#
#	$Id: PopMenu.tcl,v 1.7 2004/03/28 02:44:57 hobbs Exp $
#
# PopMenu.tcl --
#
#	This file implements the TixPopupMenu widget
#
# Copyright (c) 1993-1999 Ioi Kim Lam.
# Copyright (c) 2000-2001 Tix Project Group.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#

global tkPriv
if {![llength [info globals tkPriv]]} {
    tk::unsupported::ExposePrivateVariable tkPriv
}
#--------------------------------------------------------------------------
# tkPriv elements used in this file:
#
# inMenubutton -	
#--------------------------------------------------------------------------
#
foreach fun {tkMenuUnpost tkMbButtonUp tkMbEnter tkMbPost} {
    if {![llength [info commands $fun]]} {
	tk::unsupported::ExposePrivateCommand $fun
    }
}
unset fun

tixWidgetClass tixPopupMenu {
    -classname TixPopupMenu
    -superclass tixShell
    -method {
	bind post unbind
    }
    -flag {
	 -buttons -installcolormap -postcmd -spring -state -title
    }
    -configspec {
	{-buttons buttons Buttons {{3 {Any}}}}
	{-installcolormap installColormap InstallColormap false}
	{-postcmd postCmd PostCmd ""}
	{-spring spring Spring 1 tixVerifyBoolean}
	{-state state State normal}
	{-cursor corsor Cursor arrow}
    }
    -static {
	-buttons
    }
    -default  {
	{*Menu.tearOff			0}
    }
}

proc tixPopupMenu:InitWidgetRec {w} {
    upvar #0 $w data

    tixChainMethod $w InitWidgetRec

    set data(g:clients)   ""
}

proc tixPopupMenu:ConstructWidget {w} {
    upvar #0 $w data

    tixChainMethod $w ConstructWidget

    wm overrideredirect $w 1
    wm withdraw $w

    set data(w:menubutton) [menubutton $w.menubutton -text $data(-title) \
			    -menu $w.menubutton.menu -anchor w]
    set data(w:menu) [menu $w.menubutton.menu]

    pack $data(w:menubutton) -expand yes -fill both
}

proc tixPopupMenu:SetBindings {w} {
    upvar #0 $w data

    tixChainMethod $w SetBindings

    foreach elm $data(-buttons) {
	set btn [lindex $elm 0]
	foreach mod [lindex $elm 1] {
	    tixBind TixPopupMenu:MB:$w <$mod-ButtonPress-$btn> \
		"tixPopupMenu:Unpost $w"

	    tixBind TixPopupMenu:$w <$mod-ButtonPress-$btn> \
		"tixPopupMenu:post $w %W %x %y"
	}

	tixBind TixPopupMenu:MB:$w <ButtonRelease-$btn> \
	    "tixPopupMenu:BtnRelease $w %X %Y"

	tixBind TixPopupMenu:M:$w <Unmap> \
	    "tixPopupMenu:Unmap $w"
	tixBind TixPopupMenu:$w <ButtonRelease-$btn> \
	    "tixPopupMenu:BtnRelease $w %X %Y"

	tixAddBindTag $data(w:menubutton) TixPopupMenu:MB:$w
	tixAddBindTag $data(w:menu)       TixPopupMenu:M:$w
    }
}


#----------------------------------------------------------------------
# PrivateMethods:
#----------------------------------------------------------------------
proc tixPopupMenu:Unpost {w} {
    upvar #0 $w data

    catch {
	tkMenuUnpost ""
    }
#   tkMbButtonUp $data(w:menubutton)
}

proc tixPopupMenu:BtnRelease {w rootX rootY} {
    upvar #0 $w data

    set cW [winfo containing -displayof $w $rootX $rootY]

    if {$data(-spring)} {
	tixPopupMenu:Unpost $w
    }
}

proc tixPopupMenu:Unmap {w} {
    upvar #0 $w data
    wm withdraw $w
}

proc tixPopupMenu:Destructor {w} {
    upvar #0 $w data

    foreach client $data(g:clients) {
	if {[winfo exists $client]} {
	    tixDeleteBindTag $client TixPopupMenu:$w
	}
    }

    # delete the extra bindings
    #
    foreach tag [list TixPopupMenu:MB:$w TixPopupMenu:M:$w] {
	foreach e [bind $tag] {
	    bind $tag $e ""
	}
    }

    tixChainMethod $w Destructor
}

proc tixPopupMenu:config-title {w value} {
    upvar #0 $w data

    $data(w:menubutton) config -text $value
}

#----------------------------------------------------------------------
# PublicMethods:
#----------------------------------------------------------------------
proc tixPopupMenu:bind {w args} {
    upvar #0 $w data

    foreach client $args {
	if {[lsearch $data(g:clients) $client] == -1} {
	    lappend data(g:clients) $client
	    tixAppendBindTag $client TixPopupMenu:$w
	}
    }
}

proc tixPopupMenu:unbind {w args} {
    upvar #0 $w data

    foreach client $args {
	if {[winfo exists $client]} {
	    set index [lsearch $data(g:clients) $client]
	    if {$index != -1} {
		tixDeleteBindTag $client TixPopupMenu:$w
		set data(g:clients) [lreplace $data(g:clients) $index $index]
	    }
	}
    }
}

proc tixPopupMenu:post {w client x y} {
    upvar #0 $w data
    global tkPriv

    if {$data(-state)  == "disabled"} {
	return
    }

    set rootx [expr $x + [winfo rootx $client]]
    set rooty [expr $y + [winfo rooty $client]]

    if {$data(-postcmd) != ""} {
	set ret [tixEvalCmdBinding $w $data(-postcmd) "" $rootx $rooty]
	if {![tixGetBoolean $ret]} {
	    return
	}
    }

    if {[string is true -strict $data(-installcolormap)]} {
	wm colormapwindows . $w
    }


    set menuWidth [winfo reqwidth $data(w:menu)]
    set width     [winfo reqwidth  $w]
    set height    [winfo reqheight $w]

    if {$width < $menuWidth} {
	set width $menuWidth
    }

    set wx $rootx
    set wy $rooty

    # trick: the following lines allow the popup menu
    # acquire a stable width and height when it is finally
    # put on the visible screen. Advoid flashing
    #
    wm geometry $w +10000+10000
    wm deiconify $w
    raise $w

    update
    wm geometry $w ${width}x${height}+${wx}+${wy}
    update

    tkMbEnter $data(w:menubutton)
    tkMbPost $tkPriv(inMenubutton) $rootx $rooty
}
PKqm�[s��PooTix8.4.3/LabWidg.tclnu�[���# -*- mode: TCL; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*-
#
#	$Id: LabWidg.tcl,v 1.3 2001/12/09 05:04:02 idiscovery Exp $
#
# LabWidg.tcl --
#
#	TixLabelWidget: Virtual base class. Do not instantiate
#
# 	This widget class is the base class for all widgets that has a
# 	label. Most Tix compound widgets will have a label so that
# 	the app programmer doesn't need to add labels themselvel.
#
#
# Copyright (c) 1993-1999 Ioi Kim Lam.
# Copyright (c) 2000-2001 Tix Project Group.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#

# LabelSide : top, left, right, bottom, none, acrosstop
#
# public widgets:
#	frame, label
#

tixWidgetClass tixLabelWidget {
    -superclass tixPrimitive
    -classname  TixLabelWidget
    -flag {
	-label -labelside -padx -pady
    }
    -static {-labelside}
    -configspec {
	{-label label Label ""}
	{-labelside labelSide LabelSide left}
	{-padx padX Pad 0}
	{-pady padY Pad 0}
    }
}

proc tixLabelWidget:ConstructWidget {w} {
    upvar #0 $w data

    tixChainMethod $w ConstructWidget

    if {$data(-labelside) != "acrosstop"} {
	set data(w:frame) [frame $w.frame]
    } else {
	set data(pw:border) [frame $w.border]
	set data(pw:pad)    [frame $w.border.pad]
	set data(w:frame)   [frame $w.border.frame]
    }

    if {$data(-labelside) != "none"} {
	set data(w:label) [label $w.label -text $data(-label)]
    }
    tixLabelWidget:Pack $w

    tixCallMethod $w ConstructFramedWidget $data(w:frame)
}

proc tixLabelWidget:ConstructFramedWidget {w frame} {
    # Do nothing
}

proc tixLabelWidget:Pack {w} {
    upvar #0 $w data

    if {[catch {tixLabelWidget:Pack-$data(-labelside) $w}]} {
	error "unknown -labelside option \"$data(-labelside)\""
    }
}

proc tixLabelWidget:Pack-acrosstop {w} {
    upvar #0 $w data

    set labHalfHeight [expr [winfo reqheight $data(w:label)] / 2]
    set padHeight [expr $labHalfHeight - [$data(pw:border) cget -bd]]
    if {$padHeight < 0} {
	set padHeight 0
    }

    tixForm $data(w:label) -top 0 -left 4\
	-padx [expr $data(-padx) +4] -pady $data(-pady)
    tixForm $data(pw:border) -top $labHalfHeight -bottom -1 \
	-left 0 -right -1 -padx $data(-padx) -pady $data(-pady)
    tixForm $data(pw:pad) -left 0 -right -1 \
	-top 0 -bottom $padHeight
    tixForm $data(w:frame) -top $data(pw:pad) -bottom -1 \
	-left 0 -right -1
}

proc tixLabelWidget:Pack-top {w} {
    upvar #0 $w data

    pack $data(w:label) -side top \
	-padx $data(-padx) -pady $data(-pady) \
	-fill x
    pack $data(w:frame) -side top \
	-padx $data(-padx) -pady $data(-pady) \
	-expand yes -fill both
}

proc tixLabelWidget:Pack-bottom {w} {
    upvar #0 $w data

    pack $data(w:label) -side bottom \
	-padx $data(-padx) -pady $data(-pady) \
	-fill x
    pack $data(w:frame) -side bottom \
	-padx $data(-padx) -pady $data(-pady) \
	-expand yes -fill both
}

proc tixLabelWidget:Pack-left {w} {
    upvar #0 $w data

    pack $data(w:label) -side left \
	-padx $data(-padx) -pady $data(-pady) \
	-fill y
    pack $data(w:frame) -side left \
	-padx $data(-padx) -pady $data(-pady) \
	-expand yes -fill both
}

proc tixLabelWidget:Pack-right {w} {
    upvar #0 $w data

    pack $data(w:label) -side right \
	-padx $data(-padx) -pady $data(-pady) \
	-fill x
    pack $data(w:frame) -side right \
	-padx $data(-padx) -pady $data(-pady) \
	-expand yes -fill both
}

proc tixLabelWidget:Pack-none {w} {
    upvar #0 $w data

    pack $data(w:frame)\
	-padx $data(-padx) -pady $data(-pady) \
	-expand yes -fill both
}

#----------------------------------------------------------------------
#                           CONFIG OPTIONS
#----------------------------------------------------------------------
proc tixLabelWidget:config-label {w value} {
    upvar #0 $w data

    $data(w:label) config -text $value

    if {$data(-labelside) == "acrosstop"} {
	tixLabelWidget:Pack-acrosstop $w
    }
}
PKqm�[�LmTxxTix8.4.3/MultView.tclnu�[���# -*- mode: TCL; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*-
#
#	$Id: MultView.tcl,v 1.3 2001/12/09 05:04:02 idiscovery Exp $
#
# MultView.tcl --
#
#	Implements the multi-view widget
#
# Copyright (c) 1993-1999 Ioi Kim Lam.
# Copyright (c) 2000-2001 Tix Project Group.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#


tixWidgetClass tixMultiView {
    -classname TixMultiView
    -superclass tixPrimitive
    -method {
	add
    }
    -flag {
	-browsecmd -command -view
    }
    -forcecall {
	-view
    }
    -configspec {
	{-browsecmd browseCmd BrowseCmd ""}
	{-command command Command ""}
	{-view view View icon tixMultiView:VerifyView}
    }
    -alias {
    }

    -default {
    }
}

proc tixMultiView:InitWidgetRec {w} {
    upvar #0 $w data
    global env

    tixChainMethod $w InitWidgetRec
}

#----------------------------------------------------------------------
#		Construct widget
#----------------------------------------------------------------------
proc tixMultiView:ConstructWidget {w} {
    upvar #0 $w data

    tixChainMethod $w ConstructWidget

    set data(w:stlist) [tixScrolledTList $w.stlist]
    set data(w:sgrid)  [tixScrolledGrid $w.sgrid]
    set data(w:icon)   [tixIconView  $w.icon]

    set data(w:tlist) [$data(w:stlist) subwidget tlist]
    set data(w:grid)  [$data(w:sgrid) subwidget grid]

    $data(w:grid) config -formatcmd [list tixMultiView:GridFormat $w] \
	-leftmargin 0 -topmargin 1
}

proc tixMultiView:SetBindings {w} {
    upvar #0 $w data

    tixChainMethod $w SetBindings
}

proc tixMultiView:GetWid {w which} {
    upvar #0 $w data

    case $which {
	list {
	    return $data(w:stlist)
	}
	icon {
	    return $data(w:icon)
	}
	detail {
	    return $data(w:sgrid)
	}
    }
}
#----------------------------------------------------------------------
# Configuration
#----------------------------------------------------------------------
proc tixMultiView:config-view {w value} {
    upvar #0 $w data

    if {$data(-view) != ""} {
	pack forget [tixMultiView:GetWid $w $data(-view)]
    }

    pack [tixMultiView:GetWid $w $value] -expand yes -fill both
}
#----------------------------------------------------------------------
# Private methods
#----------------------------------------------------------------------
proc tixMultiView:GridFormat {w area x1 y1 x2 y2} {
    upvar #0 $w data

    case $area {
	main {
	}
	{x-margin y-margin s-margin} {
	    # cborder specifies consecutive 3d borders
	    #
	    $data(w:grid) format cborder $x1 $y1 $x2 $y2 \
		-fill 1 -relief raised -bd 2 -bg gray60 \
		-selectbackground gray80
	}
    }

}

#----------------------------------------------------------------------
# Public methods
#----------------------------------------------------------------------

# Return value is the index of "$name" in the grid subwidget
#
#
proc tixMultiView:add {w name args} {
    upvar #0 $w data

    set validOptions {-image -text}

    set opt(-image)  ""
    set opt(-text)   ""

    tixHandleOptions -nounknown opt $validOptions $args

    $data(w:icon) add $name $opt(-image) $opt(-text)
    $data(w:tlist) insert end -itemtype imagetext \
	-image $opt(-image) -text $opt(-text)
    $data(w:grid) set 0 end -itemtype imagetext \
	-image $opt(-image) -text $opt(-text)

    return max
}

#----------------------------------------------------------------------
# checker
#----------------------------------------------------------------------
proc tixMultiView:VerifyView {value} {
    case $value {
	{icon list detail} {
	    return $value
	}
    }
    error "bad view \"$value\", must be detail, icon or list"
}

PKqm�[{j��0U0U	libTix.sonuȯ��PKqm�[.˓v��iUTix8.4.3/FileEnt.tclnu�[���PKqm�[���DrTix8.4.3/DirList.tclnu�[���PKqm�[iW��� �Tix8.4.3/IconView.tclnu�[���PKqm�[�*�ffC�Tix8.4.3/Compat.tclnu�[���PKqm�[�6���Tix8.4.3/VResize.tclnu�[���PKqm�[6&�����Tix8.4.3/bitmaps/openfile.xbmnu�[���PKqm�[hw��'�Tix8.4.3/bitmaps/openfold.xbmnu�[���PKqm�[!�,���Q�Tix8.4.3/bitmaps/plus.xpmnu�[���PKqm�[w۶д�b�Tix8.4.3/bitmaps/warning.gifnu�[���PKqm�[����b�Tix8.4.3/bitmaps/mktransgif.tclnu�[���PKqm�[�Q11��Tix8.4.3/bitmaps/resize2.xbmnu�[���PKqm�[i~����'�Tix8.4.3/bitmaps/harddisk.xbmnu�[���PKqm�[JI.;OO��Tix8.4.3/bitmaps/folder.gifnu�[���PKqm�[�����Tix8.4.3/bitmaps/ck_on.xbmnu�[���PKqm�[�Uc����Tix8.4.3/bitmaps/no_entry.xpmnu�[���PKqm�[�]r����Tix8.4.3/bitmaps/hourglas.masknu�[���PKqm�[�ݭi��1�Tix8.4.3/bitmaps/tick.xbmnu�[���PKqm�["��~OOu�Tix8.4.3/bitmaps/srcfile.gifnu�[���PKqm�[���cc�Tix8.4.3/bitmaps/decr.xbmnu�[���PKqm�[��H�TT��Tix8.4.3/bitmaps/openfold.gifnu�[���PKqm�[]���99]�Tix8.4.3/bitmaps/minus.gifnu�[���PKqm�[�K����Tix8.4.3/bitmaps/textfile.xbmnu�[���PKqm�[F��LL"�Tix8.4.3/bitmaps/file.gifnu�[���PKqm�[�ږ��Tix8.4.3/bitmaps/restore.xbmnu�[���PKqm�[0
՝���Tix8.4.3/bitmaps/ck_def.xbmnu�[���PKqm�[�|�&&e�Tix8.4.3/bitmaps/srcfile.xpmnu�[���PKqm�[���<<��Tix8.4.3/bitmaps/plusarm.gifnu�[���PKqm�[K3��_�Tix8.4.3/bitmaps/plusarm.xpmnu�[���PKqm�[�*�I���Tix8.4.3/bitmaps/cross.xbmnu�[���PKqm�[:ue)����Tix8.4.3/bitmaps/act_fold.xpmnu�[���PKqm�[o�OO��Tix8.4.3/bitmaps/textfile.gifnu�[���PKqm�[��KI��d�Tix8.4.3/bitmaps/hourglas.xbmnu�[���PKqm�[�"ޓ..]�Tix8.4.3/bitmaps/textfile.xpmnu�[���PKqm�[|hZZZ��Tix8.4.3/bitmaps/act_fold.gifnu�[���PKqm�[)�}���Tix8.4.3/bitmaps/plusarm.xbmnu�[���PKqm�[z��>{{��Tix8.4.3/bitmaps/balarrow.xbmnu�[���PKqm�[����_�Tix8.4.3/bitmaps/minusarm.xbmnu�[���PKqm�[��Dâ�{�Tix8.4.3/bitmaps/openfold.xpmnu�[���PKqm�[�`6�FFj�Tix8.4.3/bitmaps/drop.xbmnu�[���PKqm�[�����Tix8.4.3/bitmaps/minimize.xbmnu�[���PKqm�[m>���b�Tix8.4.3/bitmaps/minus.xpmnu�[���PKqm�[r�7w��u�Tix8.4.3/bitmaps/folder.xbmnu�[���PKqm�[.7���Tix8.4.3/bitmaps/cbxarrow.xbmnu�[���PKqm�[�S8�����Tix8.4.3/bitmaps/info.gifnu�[���PKqm�[g�����Tix8.4.3/bitmaps/srcfile.xbmnu�[���PKqm�[䷢P**�Tix8.4.3/bitmaps/file.xpmnu�[���PKqm�[�b����Tix8.4.3/bitmaps/no_entry.gifnu�[���PKqm�[��������Tix8.4.3/bitmaps/act_fold.xbmnu�[���PKqm�[��11��Tix8.4.3/bitmaps/resize1.xbmnu�[���PKqm�[3i�cc(�Tix8.4.3/bitmaps/incr.xbmnu�[���PKqm�[/������Tix8.4.3/bitmaps/file.xbmnu�[���PKqm�[���;;�Tix8.4.3/bitmaps/minusarm.gifnu�[���PKqm�[h:���Tix8.4.3/bitmaps/maximize.xbmnu�[���PKqm�[���::��Tix8.4.3/bitmaps/plus.gifnu�[���PKqm�[��#zTix8.4.3/bitmaps/system.xbmnu�[���PKqm�[�Mų���Tix8.4.3/bitmaps/minusarm.xpmnu�[���PKqm�[�S	��Tix8.4.3/bitmaps/info.xpmnu�[���PKqm�[a6O�}}7Tix8.4.3/bitmaps/network.xbmnu�[���PKqm�[9gu���Tix8.4.3/bitmaps/folder.xpmnu�[���PKqm�['�W����
Tix8.4.3/bitmaps/minus.xbmnu�[���PKqm�[�Ӳ����Tix8.4.3/bitmaps/plus.xbmnu�[���PKqm�[����	Tix8.4.3/bitmaps/warning.xpmnu�[���PKqm�[�uM^��CTix8.4.3/bitmaps/ck_off.xbmnu�[���PKqm�[�+�;�;�Tix8.4.3/Console.tclnu�[���PKqm�[:�~�$�$�RTix8.4.3/OptMenu.tclnu�[���PKqm�[@lP��%�%�wTix8.4.3/VStack.tclnu�[���PKqm�[�՞���Tix8.4.3/DirDlg.tclnu�[���PKqm�[��__j�Tix8.4.3/LabEntry.tclnu�[���PKqm�[5	oo�Tix8.4.3/Event.tclnu�[���PKqm�[�7ND::��Tix8.4.3/Shell.tclnu�[���PKqm�[�rhh;�Tix8.4.3/FloatEnt.tclnu�[���PKqm�[�xj\����Tix8.4.3/DefSchm.tclnu�[���PKqm�[�::��Tix8.4.3/CObjView.tclnu�[���PKqm�[����3�3p�Tix8.4.3/Balloon.tclnu�[���PKqm�[��Ҽ���3Tix8.4.3/EFileDlg.tclnu�[���PKqm�[�*°99�:Tix8.4.3/pref/TK.fscnu�[���PKqm�[$o���=Tix8.4.3/pref/TkWin.fscnu�[���PKqm�[�/����CTix8.4.3/pref/WmDefault.txtnu�[���PKqm�[�|]Z	X	XUTix8.4.3/pref/SGIGray.cscnu�[���PKqm�[rR�XXc�Tix8.4.3/pref/Bisque.cscnu�[���PKqm�[`@sXX�Tix8.4.3/pref/Gray.cscnu�[���PKqm�[FL	8��^Tix8.4.3/pref/WmDefault.fsnu�[���PKqm�[`)j���QaTix8.4.3/pref/Old14Pt.fsnu�[���PKqm�["5�5��cTix8.4.3/pref/WmDefault.tclnu�[���PKqm�[jgr���Tix8.4.3/pref/WmDefault.fscnu�[���PKqm�[�2+����Tix8.4.3/pref/WmDefault.csnu�[���PKqm�[��)���Tix8.4.3/pref/10Point.fscnu�[���PKqm�[����Tix8.4.3/pref/Blue.csnu�[���PKqm�[} �XXv	Tix8.4.3/pref/Blue.cscnu�[���PKqm�[�^��[	Tix8.4.3/pref/TK.csnu�[���PKqm�[���C��`	Tix8.4.3/pref/10Point.fsnu�[���PKqm�['��HXX�b	Tix8.4.3/pref/TixGray.cscnu�[���PKqm�[�W�4�	Tix8.4.3/pref/SGIGray.csnu�[���PKqm�[O�
�
~�	Tix8.4.3/pref/WmDefault.pynu�[���PKqm�[�g�u�	Tix8.4.3/pref/Bisque.csnu�[���PKqm�[!������	Tix8.4.3/pref/TK.fsnu�[���PKqm�[���܆���	Tix8.4.3/pref/TkWin.fsnu�[���PKqm�[r�d�8�8��	Tix8.4.3/pref/WmDefault.cscnu�[���PKqm�[���aWW�
Tix8.4.3/pref/TkWin.cscnu�[���PKqm�[w��+��_f
Tix8.4.3/pref/TK.cscnu�[���PKqm�[��ŀ��n
Tix8.4.3/pref/12Point.fsnu�[���PKqm�[p�,Rq
Tix8.4.3/pref/14Point.fsnu�[���PKqm�[G�<�t
Tix8.4.3/pref/pkgIndex.tclnu�[���PKqm�[��iu
Tix8.4.3/pref/Old12Pt.fsnu�[���PKqm�[�;\v���w
Tix8.4.3/pref/12Point.fscnu�[���PKqm�[�����
Tix8.4.3/pref/TkWin.csnu�[���PKqm�[��� �
Tix8.4.3/pref/TixGray.csnu�[���PKqm�[�'�i99j�
Tix8.4.3/pref/14Point.fscnu�[���PKqm�[��3[�
Tix8.4.3/pref/Gray.csnu�[���PKqm�[�4�"$*$*F�
Tix8.4.3/Utils.tclnu�[���PKqm�[J������
Tix8.4.3/OldUtil.tclnu�[���PKqm�[�
�&&��
Tix8.4.3/SWidget.tclnu�[���PKqm�[0����8�
Tix8.4.3/FileDlg.tclnu�[���PKqm�[|=�K��Tix8.4.3/DialogS.tclnu�[���PKqm�[ʯn�**Tix8.4.3/Meter.tclnu�[���PKqm�[�Ex;;}Tix8.4.3/StatBar.tclnu�[���PKqm�[�{����"Tix8.4.3/ChkList.tclnu�[���PKqm�[_���117Tix8.4.3/DirBox.tclnu�[���PKqm�[v�GE���LTix8.4.3/fs.tclnu�[���PKqm�[��i��m\Tix8.4.3/StackWin.tclnu�[���PKqm�[���zdTix8.4.3/license.termsnu�[���PKqm�[����
�
�oTix8.4.3/ListNBk.tclnu�[���PKqm�[ͼ���
~Tix8.4.3/SListBox.tclnu�[���PKqm�[?Y-.��4�Tix8.4.3/SWindow.tclnu�[���PKqm�[��N��t�Tix8.4.3/README.txtnu�[���PKqm�[
�T����Tix8.4.3/WInfo.tclnu�[���PKqm�[�C �|	|	��Tix8.4.3/STList.tclnu�[���PKqm�[<K6=�	�	X�Tix8.4.3/FileCbx.tclnu�[���PKqm�[ި����O�Tix8.4.3/HListDD.tclnu�[���PKqm�[(Cf�T�T'�Tix8.4.3/Grid.tclnu�[���PKqm�[X6�:77	8Tix8.4.3/Init.tclnu�[���PKqm�[i�A�����PTix8.4.3/ComboBox.tclnu�[���PKqm�[u	�[[u�Tix8.4.3/SText.tclnu�[���PKqm�[(�R=���Tix8.4.3/LabFrame.tclnu�[���PKqm�[qQe�3�3��Tix8.4.3/ResizeH.tclnu�[���PKqm�[��nYFYF�#
Tix8.4.3/TList.tclnu�[���PKqm�[��))�j
Tix8.4.3/Primitiv.tclnu�[���PKqm�[A�@	&	&��
Tix8.4.3/Tix.tclnu�[���PKqm�[8�No
o
?�
Tix8.4.3/BtnBox.tclnu�[���PKqm�[-ϟ�88��
Tix8.4.3/FileBox.tclnu�[���PKqm�[Y��w~,~,5�
Tix8.4.3/EFileBox.tclnu�[���PKqm�[�c�-//�)Tix8.4.3/SGrid.tclnu�[���PKqm�[%�|xr0r0iATix8.4.3/Control.tclnu�[���PKqm�[�����rTix8.4.3/SimpDlg.tclnu�[���PKqm�[K������vTix8.4.3/StdShell.tclnu�[���PKqm�[�j��xx�{Tix8.4.3/StdBBox.tclnu�[���PKqm�[V��##~�Tix8.4.3/DirTree.tclnu�[���PKqm�[eϰ`

ΥTix8.4.3/Variable.tclnu�[���PKqm�[å�@���Tix8.4.3/DragDrop.tclnu�[���PKqm�[kv$$�Tix8.4.3/Select.tclnu�[���PKqm�[�b�GG{�Tix8.4.3/Tree.tclnu�[���PKqm�[��'4zz�Tix8.4.3/pkgIndex.tclnu�[���PKqm�[/�{�����Tix8.4.3/SHList.tclnu�[���PKqm�[w_���n�n�Tix8.4.3/PanedWin.tclnu�[���PKqm�[M�5::�mTix8.4.3/VTree.tclnu�[���PKqm�[-��F�FRTix8.4.3/HList.tclnu�[���PKqm�[`��[x�Tix8.4.3/NoteBook.tclnu�[���PKqm�[�v�����Tix8.4.3/DtlList.tclnu�[���PKqm�[HEN�||��Tix8.4.3/PopMenu.tclnu�[���PKqm�[s��Poo��Tix8.4.3/LabWidg.tclnu�[���PKqm�[�LmTxxnTix8.4.3/MultView.tclnu�[���PK��67+