XׯdddlZddlZddlZddlmZmZmZmZmZm Z m Z m Z m Z ddlm Z mZmZmZmZmZddlmZmZmZmZmZmZddlmZmZmZmZddlZddlZddlmZm Z m!Z!m"Z"m#Z#m$Z$ddlm%Z%ddl&m'Z'dd l(m)Z)m*Z*m+Z+m,Z,m-Z-ej.d Z/e/d Z0d Z1d Z2gdZ3dZ4dZ5Gdde6Z7Gdde,Z8Gdde)Z9dS)N) newTabViewnewBoxnewTablenewPanelTitledBoxPanelnewScrollPanel newCheckBox newTextEntry newTextBox)newLabel HFillFlag VFillFlag HExpandFlag Utilities newSelector) newButtonSmallHelpTextStyle FileChooser OpenDirectoryOpenFileSaveFile) SelectorPopupSelectorComboboxForm newImageBox) dprint_ex debug_levelPermissionDeniedErrorInvalidPasswordErrorOperationCancelledErrorUsers)multi_separator)server_os_path)WbAdminTabBaseWbAdminValidationConfigFileWbAdminValidationConnectionWbAdminValidationBaseWbAdminValidationRemoteAccess WB_CATOPTS) GeneralAdvancedzMyISAM Parameters PerformanceLoggingSecurityzInnoDB Parameters Networking Replication)r/zAdvanced log optionszSlave replication objectszSlave default connection valueszActivate LoggingMemoryzFulltext searchzData / Memory size Datafiles LocalizationzThread specific settingsr+zAdvanced SettingsVariouszBinlog Optionsz Memory usage DirectoriesLogfilesz Relay LogMasterz General slaver.zActivate InnoDBzSlave Identificationz Query cacher*zInsert delayed settingszSlow query log optionsNamingzTimeout Settingsctdd|zdz|zdz|zdS)NCATOPT'z', ')printget_string_value)catgrpenableds %..\modules\wb_admin_config_file_ui.pyhandle_cat_optrB-sI hg .1E1E1G1GG&PSVSgSgSiSiijjjjj)g@gffffff@g@g @ct|}d}t|tur$|D]!}|s|dkr||z }"|r||kr|||S)N.)strr=typeisdigit set_value)version_selectorset_backvernew_vervchs rAverify_selected_versionrP4s //11 2 2CG CyyC  C{{}} s 3,GsNN""7+++ NrCcttj}td}|d|dtd}|dt }|dtd}|dtddd|Dz}| |ddtd }| |ddtd }| |ddt|turd }td d  t|dt|d dz z}n#ttf$rd}YnwxYwd}t!jt"} | D] } || kr| } t%t&| d| Dt/|| ddfd| |dd| |dd| |ddt3} | dtd} | | dd| | dd|||| dt=d}|dkst?|d krd} g} | d}|D]$}| !t|%t| }n#t$rd }YnwxYw|S)NFTzwarning_icon.png zSServer version %s is not supported by Workbench configuration file management tool.rFc,g|]}t|SrG.0xs rA z+run_version_select_form..QsO}V}V}VIJ~ABC~D~D}V}V}VrCzAlthough, you can select different server version for the tool to use. Suggested version is given below. You can either pick version or type one.zYValid version formats are X.Y.ZZ or X.Y. All other variants will resort to default - 5.1.)r\z)Given version is not a valid tuple objectrg$@gffffff@c,g|]}t|SrUrVrWs rArZz+run_version_select_form..rs9991A999rCc$tdS)NT)rP)rKsrAz)run_version_select_form..us2IJZ\`2a2arCOkrE5.1)"r main_formr set_padding set_spacingr set_imager joinaddrHtuplerint ValueError IndexErrorcopysupported_versionsrrreverse add_itemsrJrGadd_changed_callbackrset_textadd_end set_content run_modalrPlensplitappend)versionformtop_vbox info_hboximg_box right_vbox warn_label version_majguessed_versionversionsvok button_boxnewversplittedvpartrKs @rArun_version_select_formrBs#   ! !De}}H  t I "mmG ()))J2psvs{s{}V}VNU}V}V}VtWtWWXXJNN:ud+++VJNN:ud+++vwwJNN:ud+++ W U""!@AAA'!*ooGAJ$(>>  # Oy+,,H  !  OO "#344 99999:::s?33444NN#UD111))*a*a*a*abbb MM'5$''' MM*dD))) LLD$''' BKKJr5$''' LLUD)))XNN2t-.>FFO"O 4 4 9 9 "((-- & &E MM#e** % % % %--      s%.F00GGA O O#"O#ceZdZdZdZdS)PagecZ||_||_||_d|_d|_d|_dSNF) page_name page_contentvar_column_widthpanelcreated update_cb)selfrrrs rA__init__z Page.__init__s2"( 0  rCc||_dSN)r)rrs rA set_update_cbzPage.set_update_cbs "rCN)__name__ __module__ __qualname__rrrUrCrArrs2#####rCrc$eZdZfdZdZxZS)$WbAdminValidationRequiredRemoteAdmincXtd||_dS)NzTMySQL Workbench requires an SSH connection to support managing Option File remotely.)superr_instance_info)r instance_info __class__s rArz-WbAdminValidationRequiredRemoteAdmin.__init__s* oppp+rCc2|jjp |jjSr)ris_localremote_admin_enabledrs rAvalidatez-WbAdminValidationRequiredRemoteAdmin.validates"+Wt/B/WWrC)rrrrr __classcell__)rs@rArrsN,,,,,XXXXXXXrCrceZdZd#dZedZedZdZdZdZ dZ d Z d Z d Z d Zd ZdZdZdZdZdZdZdZdZd$dZdZdZdZdZdZdZdZd$dZ d Z!d!Z"d"Z#dS)%WbAdminConfigFileUIractj|||||t||t ||t |||_|| d|j d|jt|_ d|_ i|_t|_d|_d|_||_||_i|_|t-d|_t1}|d|d||jt1}|d||j|jt?ddd|j|j dd|j|j!ddtDj#$d kr9|j|dd|j|ddn8|j|dd|j|dd|%|j|&ddS) Nztitle_options.png Options FileTzApply...ApplyDiscardzConfiguration File:Fdarwin)'r$radd_validationr(r%rcreate_search_panel search_panel set_headercreate_standard_headernamertab_viewmyopts opt2ctrl_mapsetnot_multiline_optionsloadingsectionrxdir_dict pack_to_topr bottom_boxrrqset_nameadd_clicked_callbackconfig_apply_changes_clickedconfig_discard_changes_clickedrgr file_name_ctrl section_ctrlsysplatformlower set_footer enable_ui)rctrl_ber main_viewrx accept_btn discard_btns rArzWbAdminConfigFileUI.__init__sg}iHHH 9-HHIII 7 FFGGG @OOPPP 4466 334GI[]kmqm~ A A A#   %(UU"       ,,[[ J'''G$$$''(IJJJkk Y'''(()LMMM H%:;;UDIII D/t<<< D-ud;;; <    8 + + O   E4 8 8 8 O   UD 9 9 9 9 O   UD 9 9 9 O   E4 8 8 8 ((( urCc8||dddddS)NInstancerT) register_page)cls admin_contexts rA wba_registerz WbAdminConfigFileUI.wba_registers%##C^^UYZZZZZrCcdS)Nadmin_option_filerU)rs rA identifierzWbAdminConfigFileUI.identifiers""rCcbt|jj}||dSr)boolr admin_enabledr)rons rA update_uizWbAdminConfigFileUI.update_uis- $%3 4 4 rrCc |j||j||j||j||j|dSr)r set_enabledrrrr)rstates rArzWbAdminConfigFileUI.enable_uisy ''... %%e,,, ##E*** !!%((( %%e,,,,,rCctd}t_jddt _jdjddtd}|d| d| |d d| jd d| jd dttj }| |fd }j||S) NzLocate option:FindFTFc`jdSr) locate_optionoption_lookup_entryr=rsrAlookup_option_wrapperzFWbAdminConfigFileUI.create_search_panel..lookup_option_wrapper s,   t7HHJJ K K K K KrC)r r rset_sizer search_btnrqrrcrdrgrmforms FilledPanelr)r search_label search_boxrrs` rArz'WbAdminConfigFileUI.create_search_panelsJ 011 $0NN   ))#b111#++   (((   R(((D\\ q!!!q!!!|UD111t/===tt444 233 $$$ L L L L L ,,-BCCCrCc \ d|_|dks|dkr d|_dS||jvrtd|d|_dS|j|}|jdkr d|_dS|j}t d}|d|j|j }t|| | tj|jjd|_|dD]X}|d}t)|}|dkr!t+} | d | d | d | d| || d d } | t;d|D]} || } | dz } | d} |j| }fd|D}t)|dkrC|d}| d}|r| |vr| | || d<|} | | d<|!| | | |j"}tG| d}|$dd |%d|&tN| (|dd | | dztRtTz|d}|d} |{| y|d+d|,| dd| vr.| d}|#|-|t]|n|-|d| vr4| }|,| d|-||| /| | dztatb}|(| |2|d|(|ddZ|j3(|d|_d|_dS)NTrFzUnknown page number )datadirbasedir configdirgroupscontrols r[rr\rcg|]}|v| SrUrU)rXrYopts_maps rArZz3WbAdminConfigFileUI.create_page..Os@@@A!x--a---rCcaption descriptionirdefaultrE)4rpagesr<rrrrdcfg_be get_optionsrr=dict _get_datadir _get_basedirospathdirnameserver_profileconfig_file_pathrrurset_row_spacingset_column_spacingrcset_homogeneous set_row_countset_column_countsuspend_layoutrangeoption_alt_namesgetreplace place_controlrr r set_wrap_text set_stylerrgr r set_activeenabled_checkbox_clickset_string_value_to_controlrG resume_layoutrr set_titler)r page_numberpagerboxoptionsgrouprnumber_of_controlstable table_row control_idxctrl_defrnames right_namer ctrl_tuplelabelctrlrvaluerrs @rA create_pagezWbAdminConfigFileUI.create_pages ??kQ.. DL F dj ( ( (+ 6 6 6 DL Fz+& <4   DL F( Umm +))$*;*L*L*N*NOO==(,'8'8':':'+'8'8':':')wt7J7['\'\ "(+L (L (EZ(H!$X !Q&&JJE  ! !" % % %  $ $R ( ( (   a  ! !% ( ( (    2 3 3 3  " "1 % % %I  " " "$Q(:;;/ H/ H #K0Q '  44T::@@@@@@@ z??Q&&!+AJ&ll955GP47??.5oodJ.O.O+%D'+HV$!//%DLabb  -!899sB'''##D))) 2333 %Ay)a-YAVWWW%a=%a=#(<G&&u---//e<<< H,,"*9"5". <>>"FFF # #rCc|jdz}|j|}||j||dS||dSNr\)rget_active_tabrrrr,)rrrs rA tab_changedzWbAdminConfigFileUI.tab_changedslm2244q8 z~~k**   : NN4   [ ) ) ) ) )rCcd|_tj|j|j|_|d|jj}|d}|j |pd|j |j  |j |_|j}t!ddt#|z|rt%|t&ur|dd}||dkrt+|d}|jd d |D|j|j |_|j}t!dd t#|zn3#t2$r&t5jd d |jzdzdddYnwxYw|i|_|jD]7\}}tA|||d|jtC|d<8tE|j#}|$|D]R}|j|} tKtLj'| _(|j)*| j(| j+StXdkrtAdd} t[tLj.| _(| /|j0| |jtc|j#dz<|j)*| j(| j+|2dd|_|j)3|j4d|_|j)S)NTrEznot configuredr\zOptions stats: '%s'addedrrxrFc,g|]}t|SrUrVrWs rArZz1WbAdminConfigFileUI.create_ui..sDkDkDkPQSVVDkDkDkrCz,Options stats after version correction: '%s'ErrorzWrong version 'z'given to admin pluginClosewidthpositionrFileF)5rwb_admin_config_file_beWbAdminConfigFileBErrrrr rrqrrpclear_and_loadget_possible_optionsrget_option_set_statsrrGrHrrrset_server_versionrfreload_possible_optionsKeyErrorr show_errorrxload_options_from_cfgrr0rrilistkeyssortrrScrollPanelNoFlagsrradd_pagerrr BothScrollBarsrupdate_file_content_tabmaxr,add_tab_changed_callbackr<) rsys_config_path option_statsr>user_selected_versionrrpage_positionspage_posrs rA create_uizWbAdminConfigFileUI.create_uis -A$BUW[Wcdd  t->  " O $$_%H8HIII ..t/BCCC |+::< > > > ??%%D#F$9::DJ   t; < < <59DJs4:??,,--1 2 M " "4:t~ > > >   ..t/?@@@ }s E G-HHc|j|jD]}|j|dSr)rclearrget_file_content append_text)rrlines rArUz+WbAdminConfigFileUI.update_file_content_tabsV K0022 ) )D J " "4 ( ( ( ( ) )rCct}|d|fd|dtzdztzdz|S)NFc.Srcontrol_actionrrsrAr_z5WbAdminConfigFileUI.create_textedit..(;(;D(A(ArC+To convert option to a multi-line one, use to separate values. The symbol / should not be at the start or end of the value)r rrp set_tooltipr"rrr%tes`` rAcreate_texteditz#WbAdminConfigFileUI.create_textedits ^^ u  A A A A ABBB DVY{{NNQBB C C C rCc td}|dtdtzdztzdzt }|d|d|fd| dd| |dd d| d||fS) NTrrirjrk...Fc<tSr)open_file_chooserrrrrnsrAr_z:WbAdminConfigFileUI.create_dir_file_edit..s)?)? rSW)X)XrC) rrdr rlr"rrqenable_internal_paddingrrgr)rrr%dir_boxbtnrns`` @rAcreate_dir_file_editz(WbAdminConfigFileUI.create_dir_file_edits,,A ^^ DVY{{NNQBB C C Ckk U ##E***   !X!X!X!X!X!XYYY Bd### C%%% u S!!rCc|jjr |jjS|jjdr%|jjddSdS)NrrrE)rrr original_optsrvalrs rArz WbAdminConfigFileUI._get_datadirZ   & ?&. . [ & * *9 5 5 ?;,Y7;;A>> >rrCc|jjr |jjS|jjdr%|jjddSdS)NrrrE)rrrrzrr{rs rArz WbAdminConfigFileUI._get_basedir r|rCc~ fdfd td}|dtd|dddt }|d|d|d| fd ||ddd}d d vrt tj }| tj d |d |d| fd||dd|dd}d dkrt tj }| tj d|d|d|  fd||dd|d||||fS)Nc tj}|d}|stjddddd}|tjkrdrdj z}nh }|r-| | |dz}n%tj d d ddddS||nVdS||s? }|r)| | ||}d }t jd}} jj|}n#t*$rd} jjd }| t j}jj|||}nD#t2$r)}jjd Yd}~nd}~wt6$rYYdSwxYwYnwxYw|s5tjdd|djjddddSt;t<} | t@j!"d| #rd} jj$|||} n#tJ$r} jjd }n#t*$r}Yd}~Yd}~dSd}~wwxYw| t j} jj$|||} n3#t2$r&} jjd | d} ~ wwxYwYd}~nNd}~wt*$r>}tjd|ztM|dddYd}~dSd}~wwxYw| | '} tQ| d} nK#tR$r>}tjd| ztM|dddYd}~dSd}~wwxYw| *| tj+,d|djjd| dSdSdS)N" Specify remote locationaNo remote location available. Please specify the path to the file in the server using the line edit control at the left of the download button and try again. Or you can click on the "Use Suggested" button to let Workbench use an appropriate value for the remote locationOK Use SuggestedrEr%s.txt$Could not find server data directoryRPlease type the full path to the file in the server before attempting to upload itFTfilezFile does not existz The file "z" does not exist in ~zError while reading from "%s"wz$Error while opening "%s" for writingFile z in z successfully downloaded to )-r#rr=striprrrM ResultCancelrrrabspathrf show_warningrJisabsr!CURRENTr server_helper file_exists Exceptionpassword_handlerget_password_forADMINrreset_password_forr host_namerr set_directoryrr expanduserrtr`rrGget_pathopenIOErrorwriteAppset_status_text)rnospath remote_pathresrras_user user_passworde filechoosercontenterr local_path local_filer%rrs rAdownload_file_from_server_cbzIWbAdminConfigFileUI.create_fileedit..download_file_from_server_cbs#D$788F--//55d;;K T&112K/2 // &---||I.. #&.y&9DM&I &*&7&7&9&9 &#*0..Z]aRa9b9b*c*cKK",99:` t $b"...#FLL----F\\+.. T++--T"(..Wk1R1R"S"SKK&+]D]G "l8DD[QQ     $   (, (E(V(VW](^(^ (4&+kG&*l&@&L&L[Zacp&q&q  0 5HHPPP2    ++,A,A > >$$&&$ 6"l8II+W^`mnnGG, " " "(, (E(V(VW](^(^ $$0"'+""&,"<"M"Mk[bdq"r"r/""" 5HHPPP! " !$//0OR]0]Ab"&&&FFFFF  &!,!5!5!7!7J%)*c%:%: "(334Z]g4gFF "b***  $$W---JNN$$444fqfqfqfjfygDgDgDfpfp6r66666C$ 6$ 6,'&s=F I+AG:9I: H:H(#I( H:5I9H::II!K;; O6L&%N+& L?0N+:L??N+!M32N+3 N#=!NN##N++ O683O11O6P!! Q)+3Q$$Q)ctj}|d}|stjddddd}|tjkr dr dj z}n} }|rB| | |dz}| |n%tjd d ddddS| |nVdS||s? }|r)| | ||}t!t"}|t&jd |r|} t1|}nK#t2$r>}tjd |zt5|dddYd}~dSd}~wwxYw |} jj|| t>j d n#tB$r} jj"#d} n#tH$r}Yd}~Yd}~dSd}~wwxYw| t>j%} jj|| | | n3#tL$r&} jj"'d| d} ~ wwxYwYd}~nNd}~wtH$r>}tjd|zt5|dddYd}~dSd}~wwxYwtj()d|djj*d|dSdS)Nrra No remote location available. Please specify the path to the file in the server using the line edit control at the left of the upload button and try again. Or you can click on the "Use Suggested" button to let Workbench use an appropriate value for the remote locationrrrErrrrrzError while opening "%s")rrrz&Error while uploading the file to "%s"rz successfully uploaded to z as )+r#rr=rrrrMrrrrrrfrJrrrrrrrrrtrrrrGreadrrset_file_contentr!rrrrrrrrrrr)rnrrrrrrrrrrrrr%rrs rAupload_file_to_server_cbzEWbAdminConfigFileUI.create_fileedit..upload_file_to_server_cbqsP#D$788F--//55d;;K T&112K/2 // &---||I.. #&.y&9DM&I &*&7&7&9&9 &#*0..Z]aRa9b9b*c*cKLL5555",99:` t $b"...#FLL----F\\+.. T++--T"(..Wk1R1R"S"SK%h//K  % %bg&8&8&=&= > > >$$&&! 2(1133 !%j!1!1JJ$//0JZ0WAb"&&&FFFFF  (oo//GL.?? W^c^k{?AAAA, " " "(, (E(V(VW](^(^ $$0"'+" 2CCKQXZacpqqqq/""" 5HHPPP! "rqqqq!$//0X[f0fAb"&&&FFFFF     000`j`j`j`d`s`}`}`}`k`k2m22222=! 2! 2s1H I  3II  AJ N J:9M: KMKM%"LM L8!L33L88M N  3NN Trz#The path to the file in your serverFrqzBrowse a file in your server...c<tSr)rsrrtsrAr_z5WbAdminConfigFileUI.create_fileedit..s)?)?"d)S)SrCrH) filedownloadfileeditzrecord_export.pngz)Download this file to your local computercSrrU)rrnsrAr_z5WbAdminConfigFileUI.create_fileedit..s1M1Mb1Q1QrCrzrecord_import.pngz4Upload a file from your local computer to the servercSrrU)rnrsrAr_z5WbAdminConfigFileUI.create_fileedit..s1I1I"1M1MrC)rrdr rlrgrrrqrurr ToolButtonset_iconrrget_resource_path) rrr%rvrwbtn_dwnbtn_uplrrnrs ``` @@@rAcreate_fileeditz#WbAdminConfigFileUI.create_fileedits^ 6^ 6^ 6^ 6^ 6^ 6^ 6~B 2B 2B 2B 2B 2B 2B 2H,,A ^^ <=== Bd### ukk U 9::: ##E***   !S!S!S!S!S!STTT C%%% F ; ; ; 122G   VZ^^--??@STT U U U    K L L L  + +E 2 2 2  ( ()Q)Q)Q)Q)Q R R R KK - - -    & & & F z ) ) 122G   VZ^^--??@STT U U U    V W W W  + +E 2 2 2  ( ()M)M)M)M)M N N N KK - - -    & & &S'733rCct}|d|d|fd|S)NFzLFor numeric values, you may specify a K, M or G size suffix, if appropriate.c.SrrergsrAr_z4WbAdminConfigFileUI.create_numeric..rhrC)r rrlrprms`` rAcreate_numericz"WbAdminConfigFileUI.create_numericsZ ^^ u efff  A A A A ABBB( rCcxd}d|vr|d}t}|dkrt}t|}t|turs|t jvret j|}t|}g}|dD],} | d} | | -|D]} | | | dd|vr/|d} d} |D]"} | | kr| | | dz } #|fd ||fS) Nchoicedropdownboxentry,z Frrr\c.SrrergsrAr_z8WbAdminConfigFileUI.create_dropdownbox..sT-@-@-F-FrC)rrrrHrGrEpysourceevalrvrrwadd_itemr set_selectedrp) rrr%ctyper0styledropboxcoderesultitemiridxs `` rAcreate_dropdownboxz&WbAdminConfigFileUI.create_dropdownboxsv x  X&E & & &$Ee$$ ;;#  /888.7>d"LL--''D::e,,DLL&&&&  A   Q    E"""  y)GC  <<((---q$$%F%F%F%F%FGGGrCc p d}d}dt}|d||d|ddd|dks|dkr(d ||ff}|j<|d n|d ks |d ks|d kr[}||dd||dzttztzd||ff}|j<n|dvr dr# \} }} d||| ff}n& \} }} } } d||| | | ff}|| dd||dzttztz|fd|j<n|dvry \} }} d||| ff}|| dd||dzttztz|fd|j<nt|dks |dks|dkr[}d||ff}|j<||dd||dzttztzn|dks |dks|dkrdvrt!}|d |fd||dd||dzttztzd||ff}|j<nq|\} }|| dd||dzttztzd|| |ff}|j<nt'd |zt(E||d!d||dzttz|fd"n"t-d#}t/t0jt4D]}|t/t0jt8D]}|fd$fd%|d#d#|d#d#||d#d#||d!d||dzttz|S)&NrHrrrz rcheckboxbooleanchkFtexteditstringrr\rtxt)filenamer filebrowserdirfedc.SrrergsrAr_z3WbAdminConfigFileUI.place_control..<D,?,?,E,ErC) directoryrc.SrrergsrAr_z3WbAdminConfigFileUI.place_control..BrrCnumericspineditinteger dropdownboxrenumrc.SrrergsrAr_z3WbAdminConfigFileUI.place_control..Qs0C0CD0I0IrCdrpz6Control type %s not implemented for config file editorrc.Sr)rrgsrAr_z3WbAdminConfigFileUI.place_control.._s1L1LT1R1RrCTc2tdSNrrBr>r%r?srAr_z3WbAdminConfigFileUI.place_control..hnS#xPVGW.X.XrCc2tdSrrrsrAr_z3WbAdminConfigFileUI.place_control..irrC)r rqrrlrrrorgrrr endswithrxrrprr rrNotImplementedErrorCATOPTSrrrrrcat_secrcat_grp)rr%r"rowval_column_widthr*rr@rnrvrwrrrr0catboxrr>r?rs`` @@@rArz!WbAdminConfigFileUI.place_controls --),---)2...(6*:*:*:H]%>tX%N%N""cS18<7;7K7KDRZ7[7[4"c7GS'7CXN IIgq!S#'9{3JY3V W W W  # #$E$E$E$E$E F F F&*D d # # . . .!%!:!:4!J!J Wb#GR-x8D IIgq!S#'9{3JY3V W W W  # #$E$E$E$E$E F F F&*D d # # i  5J#6#6%9:L:L$$T844BGR=(3D&*D d # IIb!QS1Wi+.E .Q R R R R m # #u0B'B'Bevoox''!^^u%%%''(I(I(I(I(IJJJ "aCQ K0G)0STTT}h7*.!$''#'#:#:45#Q#Q % '1acAgy;7NQZ7Z[[[%8(C*.!$''%&^_d&dee e ? IIgq!S#'9y3H I I I  ( ()R)R)R)R)R S S S SD\\Ff566C # # T""""f566C # # T""""  $ $%X%X%X%X%X%X Y Y Y  $ $%X%X%X%X%X%X Y Y Y JJsD$ ' ' ' JJsD$ ' ' ' JJwd + + + IIfaCq+ 2I J J J rCcbd}|jjr|t|}|||r1|t ur|n|}n,ddl m }||j|j j |j j }|rtt|tust|turJ|dd}|d|zdz||dSdSdS)Nr)remote_file_selector\/")rrrrr=rtr get_directoryr wba_ssh_uirrrsshrHrGrrJrf)rfile_chooser_type textfieldrrrrs rArsz%WbAdminConfigFileUI.open_file_chooserrs@   ' r%&788K  % %i&@&@&B&B C C C$$&& y:K}:\:\;44666bmbvbvbxbx 7 7 7 7 7 7++D,?A^`d`l`pqqH  &h3..$x..C2G2G''c22H   h 4 5 5 5    % % % % % & &2G2GrCNc||jvr5|j|fd}d}|.t|}|d|n|d}|dkr |d|nF|dkrH|d||d|d|n|dkr|d|n|dkr=|d||d|n|d kr|d||d| |d ||d |n#t $rYnwxYw|js]|r7|j|| ||j dS|j ||j dSdSdS) Nc d|Sr:rUrr*s rAcontrolz;WbAdminConfigFileUI.enabled_checkbox_click..controlsAws|#rCrrr\spnrrrrrr) rrr get_activerrrr option_addedget_string_value_from_controlroption_removed)rr force_enabledrtagr@r*s @rArz*WbAdminConfigFileUI.enabled_checkbox_clicks 4$ $ $$T*D $ $ $ $ $q'C(}-- %%g....!'!**//11e|| &&w//// &&w///71::)GAJJ**7333 &&w//// &&w/// &&w//// &&w/// &&w///GAJJ**7333GAJJ**73333 D< CCK,,T43U3UVZ\`3a3acgcopppppK..tT\BBBBBQ % $F C Cs.control73< rCFr\MultipleTrr rrrrrzMulti Line OptionzThe %s sequence was detected in the string, which is used for separating multi-line options. Would you like to split the value to multiple options?Convertz Keep as IscBg|]}|tSrU)rr"rWs rArZzEWbAdminConfigFileUI.get_string_value_from_control..s$XXXa11XXXrC)getInternalNamer=rrvr"rrHrhrurGfindrrr show_messagerResultOkrrgrO) r option_namer*r+r r is_multiple control_name is_string has_separator value_lenanswers ` rArz1WbAdminConfigFileUI.get_string_value_from_controls1g      wqzz1133 : % %K %<<WQZZ00224EE E\\GAJJ//1177 BBEwqzz%44666 E\\GAJJ//11EE E\\GAJJ//11E 5 O44 E\\GAJJ//11E 5 O44 E\\WQZZ**,,.E   ;;%  E IA~~ qNNc1JT%(^^s5J G$)!HMM/$B$BQ$FMU s*@d5kkS.@I!JJ77!;M %  I -  YdlpmGZGZG+,?gjyy\2//F(( ##J////*..{;;;  YY Y{d>X/X/XE{{e##u::??!!HEE{{%''XX5;;;W;WXXX ;;d " "tE{{%'?'?HE rCcD|d}d}D]}t|}||kr|}d}fd}|dkrPt|}td|dzD]-} | |kr%|| d} || } | | }|d| }.d|D|fS)Nz rrEcv|}d}D]}||kr|}n|Sr)r)sfxsfx2ret_itemr unit_itemss rAget_unitz7WbAdminConfigFileUI.parse_spin_string..get_unitsM99;;DH"  4::<<''#HE(OrCr\cFg|]}|s|dk|S)-)rIrWs rArZz9WbAdminConfigFileUI.parse_spin_string..#s*===qQYY[[=AHHHHHrC)rrur) rr$r+longest_suffixrlsuffixr%r suffix_lengthcur_sfxcur_units ` rAparse_spin_stringz%WbAdminConfigFileUI.parse_spin_strings I&&  !" ' 'II&&%&N      A  E I!&q!);!.control(rrCr\rSingle)rrrrErrrrrrr@rU)rHrhrur isinstancerGrformatrrrJr.indexrrjr enumeraternormalize_boolrr<) rr*r+r rr*rr0 lowcase_valuerrs ` rArz/WbAdminConfigFileUI.set_string_value_to_control&s1g      ;;%  CJJNN GAJJ   + + + + GAJJ   ) ) ) ' ' '}Juc$:$:}KK **E $ 55t}55     GAJJ  ' ' ' ' ' E\\}eC''KK **E!33GGAJJFFNU6 GAJJ  ' ' 'wqzz%&*<!'!****622CGAJJ++C00000!DD &%*<*< E\\  $$)KKMMM%.u%5%577 D::<<=88#GAJJ33A666 %$77     E\\K..u55E GAJJ ! !% ( ( ( ( ( 'NNNNNs7(B;; CC0z!WbAdminConfigFileUI.load_defaultss #06688 I IOD%%a=%a=#(<G&&u---//0@%HHH H,,"*9"5". <  " O $$_555 $$S"---'MM ""3+++++rCc"t|drzt|jdrg|jjr]tjdd|jjzddd}|tjkr| |tj kSdSdSdS)Nr changesetzConfiguration filezaConfiguration file from instance '%s' may contain unsaved changes. Would you like to review them?ReviewCancelr) hasattrrrNrrrrrrr ResultOther)rrs rAshutdownzWbAdminConfigFileUI.shutdowns 4 " " -wt{K'H'H -T[Mb -()=@"$($7$<@=>FR[]]Cfo%%11333&,, ,  - - - - - -rC)rar)$rrrr classmethodrrrrrr,rr<r]rUrorxrrrrrrrsrrfrr.rrrrGrNr>rrSrUrCrArrsB0000f[[[[##[# ---2rrrj###"***>>>B))) """&H4H4H4V:! ! ! HRRRj&&&")C)C)C)CXoooGGGVGGGB333l(((MMM::::z* , , ,-----rCr):rrlrrrrrrrrr r r r r rrrrrrrrrrrrrrrE wb_commonrrrrr r!r"workbench.utilsr#wb_admin_utilsr$r%r&r'r(getenvrrrrBrmrProbjectrrrrUrCrArZs,AAAAAAAAAAAAAAAAAAAAAAVVVVVVVVVVVVVVVV````````````````EEEEEEEEEEEE yyyyyyyyyyyyyyyy333333******ZZZZZZZZZZZZZZ ")L ! ! SGjGkkk*))   QQQj # # # # #6 # # #XXXXX+@XXXi-i-i-i-i-.i-i-i-i-i-rC